在GoLang获取GMT + 2的当前时间

时间:2016-06-03 07:48:28

标签: date datetime go time

我需要用Go语言获得GMT + 2(罗马,意大利)的实际时间。

我用过:       现在的时间() 但它以GMT + 0返回实际日期。

我已经看到有一个In(loc * Location)功能,但我无法理解如何使用它。而且,你知道如果设置GMT + 2,它还会自动考虑DST选项吗?

你可以帮帮我吗?感谢

2 个答案:

答案 0 :(得分:7)

您可以使用FixedZoneLoadLocation功能获取*Location 然后在*Location

中使用func In
// get the location
location,_ := time.LoadLocation("Europe/Rome")

// this should give you time in location
t := time.Now().In(location)

fmt.Println(t)

以下是更多文档https://golang.org/pkg/time/#Time

答案 1 :(得分:0)

获取当前时间的另一种方法是获取GMT时间(UTC)并添加所需的小时数,但这样会考虑DST,并准确地产生GMT + 2 (GMT不会随着夏令时而改变。)

package main

import (
    "fmt"
    "time"
)

func main() {
    when := time.Now().UTC().Add(2*time.Hour)
    fmt.Println("GMT+2:", when)
}