gpt4 book ai didi

date - 如何直接使用时区解析日期和时间

转载 作者:行者123 更新时间:2023-12-01 22:31:05 26 4
gpt4 key购买 nike

我有以下代码:

package main

import (
"fmt"
"time"
)

func main() {
tzJakarta, _ := time.LoadLocation("Asia/Jakarta")
stringTime := fmt.Sprintf("05-05-2019 05:11 %s", tzJakarta)
parsedTime, _ := time.Parse("02-01-2006 15:04 MST", stringTime)

fmt.Println(tzJakarta)
fmt.Println(stringTime)
fmt.Println(parsedTime)
}

输出为:
Asia/Jakarta
05-05-2019 05:11 Asia/Jakarta
0001-01-01 00:00:00 +0000 UTC

我期望的是:
Asia/Jakarta
05-05-2019 05:11 Asia/Jakarta
0001-01-01 00:00:00 +0700 UTC

我该如何实现? Go完全有可能吗?

最佳答案

您永远不会拥有0001-01-01 00:00:00 +0700 UTC,因为您会忽略错误,0001-01-01 00:00:00 +0000 UTC是零值。最后一条语句返回有关解析的错误,这是正确的版本。

package main

import (
"fmt"
"time"
)

func main() {
loc, _ := time.LoadLocation("Asia/Jakarta")

// Note: without explicit zone, returns time in given location.
const shortForm = "02-01-2006 15:04"
t, _ := time.ParseInLocation(shortForm, "05-05-2019 05:11", loc)
fmt.Println(t)

}

输出:
2019-05-05 05:11:00 +0700 WIB 

(WIB –西印尼时间)

Platground

关于date - 如何直接使用时区解析日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60769269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com