0

因此,我有许多扩展 gorm 模型的结构,这意味着它们具有 createdAt、updatedAt 和 deletedAt 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

有什么办法可以强迫我给我一致的时间戳?提前致谢!

4

1 回答 1

0

控制输出的最好方法是编写自己的类型。用你的格式说type MyTime time.Time和实现MarshallerUnmarshaller。有关提示,请参见time.MarshalJSONtime.UnmarshalJSON。如果您在数据库列中需要它,请在其上实现Scannerand Valuer请参阅此答案)。对于其他 Marshaller/Unmarshaller,您需要实现它们的接口(例如 yaml/gob/...)

于 2016-04-19T04:33:23.943 回答