如何使用特定时区解析时间
How to parse time using a specific timezone
我要从字符串中获取时间结构。我在布局 "2006-01-02 15:04"
.
中使用函数 time.ParseTime()
当我使用任何有效的时间字符串执行该函数时,我得到一个指向该时间戳的时间结构,但它是 UTC。
如何更改为不同的时区?明确地说,我想要相同的时间戳,但时区不同。我不想在时区之间转换;我只想获得相同的时间对象,但不是 UTC。
在未指定时区时使用 time.ParseInLocation
to parse time in a given Location。 time.Local
是您当地的时区,将其作为您的位置传入。
package main
import (
"fmt"
"time"
)
func main() {
// This will honor the given time zone.
// 2012-07-09 05:02:00 +0000 CEST
const formWithZone = "Jan 2, 2006 at 3:04pm (MST)"
t, _ := time.ParseInLocation(formWithZone, "Jul 9, 2012 at 5:02am (CEST)", time.Local)
fmt.Println(t)
// Lacking a time zone, it will use your local time zone.
// Mine is PDT: 2012-07-09 05:02:00 -0700 PDT
const formWithoutZone = "Jan 2, 2006 at 3:04pm"
t, _ = time.ParseInLocation(formWithoutZone, "Jul 9, 2012 at 5:02am", time.Local)
fmt.Println(t)
}
我要从字符串中获取时间结构。我在布局 "2006-01-02 15:04"
.
time.ParseTime()
当我使用任何有效的时间字符串执行该函数时,我得到一个指向该时间戳的时间结构,但它是 UTC。
如何更改为不同的时区?明确地说,我想要相同的时间戳,但时区不同。我不想在时区之间转换;我只想获得相同的时间对象,但不是 UTC。
在未指定时区时使用 time.ParseInLocation
to parse time in a given Location。 time.Local
是您当地的时区,将其作为您的位置传入。
package main
import (
"fmt"
"time"
)
func main() {
// This will honor the given time zone.
// 2012-07-09 05:02:00 +0000 CEST
const formWithZone = "Jan 2, 2006 at 3:04pm (MST)"
t, _ := time.ParseInLocation(formWithZone, "Jul 9, 2012 at 5:02am (CEST)", time.Local)
fmt.Println(t)
// Lacking a time zone, it will use your local time zone.
// Mine is PDT: 2012-07-09 05:02:00 -0700 PDT
const formWithoutZone = "Jan 2, 2006 at 3:04pm"
t, _ = time.ParseInLocation(formWithoutZone, "Jul 9, 2012 at 5:02am", time.Local)
fmt.Println(t)
}