go 时间字符串转换时间戳时区不对
时间: 2023-08-10 17:09:18 浏览: 109
你可以使用Go语言中的time包来进行时间字符串转换和处理。要将时间字符串转换为时间戳,并确保时区正确,你可以使用time.ParseInLocation函数。
下面是一个示例代码:
```go
package main
import (
"fmt"
"time"
)
func main() {
// 时间字符串
timeStr := "2022-01-01 12:00:00"
// 时区
location, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println("无法加载时区:", err)
return
}
// 解析时间字符串
t, err := time.ParseInLocation("2006-01-02 15:04:05", timeStr, location)
if err != nil {
fmt.Println("无法解析时间字符串:", err)
return
}
// 转换为时间戳(秒)
timestamp := t.Unix()
fmt.Println("时间戳:", timestamp)
}
```
在上述示例中,我们首先使用`time.LoadLocation`函数加载所需的时区(例如"Asia/Shanghai")。然后,使用`time.ParseInLocation`函数将时间字符串转换为`time.Time`类型的值,并将其与指定的时区关联。最后,使用`Unix`方法将时间转换为时间戳。
你可以根据需要自行更改时间字符串和时区。希望这能帮助到你!
阅读全文