所以我有很多结构扩展了gorm模型意味着他们已经创建了,更新了和删除了time.Time字段。当我将这些编组成JSON时,我收到的日期格式各不相同。它应该生成的正确RFC3339时间戳如下所示:
2016-04-18T00:03:20Z
但是,我只会在20%的时间内以这种方式格式化日期。其余时间戳具有可变数量的亚秒。我收到了以下格式:
2016-04-18T05:第51:11.54772087Z
2016-04-18T05:51:11.543835101Z
2016-04-18T05:53:20.1674444Z
我有什么方法可以强制进入给我一致的时间戳吗?提前谢谢!
答案 0 :(得分:0)
控制输出的最佳方法是编写自己的类型。说出type MyTime time.Time
,并为您的格式设置Marshaller和Unmarshaller。有关提示,请参阅time.MarshalJSON和time.UnmarshalJSON。如果您在数据库列中需要这个,请同时实现Scanner
和Valuer
(see this answer)。对于其他Marshaller / Unmarshaller你需要实现他们的接口(例如yaml / gob /...)