我需要用Go语言获得GMT + 2(罗马,意大利)的实际时间。
我用过: 现在的时间() 但它以GMT + 0返回实际日期。
我已经看到有一个In(loc * Location)功能,但我无法理解如何使用它。而且,你知道如果设置GMT + 2,它还会自动考虑DST选项吗?
你可以帮帮我吗?感谢答案 0 :(得分:7)
您可以使用FixedZone
或LoadLocation
功能获取*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)
答案 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)
}