我正在处理使用错误时区解析的time.Time对象。它们内部具有UTC tz,但原始数据来自遗留的MySQL数据库,该数据库内部存储与欧洲/巴黎时区的日期时间。
我想更改时间的内部时区而不重新分析它。我已经尝试了time.In()函数,但它没有解决我的用例,因为它为另一个时区返回相同的时间。
我的最终解决方案是使用https://golang.org/pkg/time/#ParseInLocation从具有正确位置的原始值重新创建日期。但是,如果可以避免这种情况会更好。
有什么想法吗?
感谢。
答案 0 :(得分:0)
你可以Add
给他们一个固定的事吗?
t,_ := time.Parse(...)
t = t.Add(-4 * time.Hour) // or whatever offset makes it work
// t is now correct utc time
// In should work less badly:
localTime := t.In(myRealLocation)