时间戳转字符串
使用 Golang 将时间戳转换为字符串的方法非常简单。我们可以使用 `time` 包提供的 `Unix()` 函数来将给定的时间戳转换为当前时区下的 `time.Time` 对象,然后使用 `time` 对象的 `Format()` 方法将其格式化为我们想要的字符串形式。首先,我们需要导入 `time` 包:
```go import "time" ```然后,我们可以编写以下代码来将时间戳转换为字符串:
```go // 定义时间戳 timestamp := int64(1615322442) // 将时间戳转为 time 对象 t := time.Unix(timestamp, 0) // 将 time 对象格式化为字符串 formatted := t.Format("2006-01-02 15:04:05") // 打印结果 fmt.Println(formatted) ```上述代码中,我们定义了一个时间戳 `1615322442`,然后使用 `time.Unix()` 方法将其转换为对应的 `time.Time` 对象。接下来,我们使用 `Format()` 方法将 `time` 对象格式化为字符串,并指定了一个格式化模板 `"2006-01-02 15:04:05"`。最后,我们可以打印出转换后的字符串结果。
字符串转时间戳
与将时间戳转换为字符串相反,我们有时也需要将字符串转换为时间戳。在 Golang 中,同样可以借助 `time` 包来实现这个目标。首先,导入 `time` 包:
```go import "time" ```然后,我们可以编写以下代码来将字符串转换为时间戳:
```go // 定义字符串 str := "2021-03-10 13:34:00" // 解析字符串为 time 对象 t, _ := time.Parse("2006-01-02 15:04:05", str) // 将 time 对象转为时间戳 timestamp := t.Unix() // 打印结果 fmt.Println(timestamp) ```上述代码中,我们定义了一个字符串 `2021-03-10 13:34:00`,然后使用 `time.Parse()` 方法将其解析为对应的 `time.Time` 对象。在 `Parse()` 方法中,我们需要指定一个格式化模板 `"2006-01-02 15:04:05"`,其中的数字和布局表示符号具有特殊的含义,用于匹配输入的字符串。最后,我们使用 `Unix()` 方法将 `time` 对象转换为时间戳,并打印出结果。
请注意
在进行时间戳和字符串转换时,需要注意以下几点:1. 时间戳表示的是绝对时间,与时区无关。所以,在将时间戳转换为字符串时,我们可以将其转换为本地时区下的时间。而当将字符串转换为时间戳时,默认会将其解析为本地时区下的时间。
2. 在使用 `time` 包中的 `Format()` 和 `Parse()` 方法时,需要使用指定的格式化模板,其中代表日期和时间的部分必须与给定的字符串一致。具体的格式化模板可以参考 Golang 官方文档中的说明。