登录
首页 >  Golang >  Go问答

解读 JSON 中日期保存后重新加载出现小数的微妙变化

来源:stackoverflow

时间:2024-03-02 09:45:26 152浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《解读 JSON 中日期保存后重新加载出现小数的微妙变化》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在用 golang 编写一个测试,用于验证磁盘上的日志是否得到正确管理。当我查看文件时,我看到了正确的日期,但是当我查看测试中的日期和从 json 重新加载的日期时,它们看起来不同:

我用 time.now() 获得的时间戳:

2019-08-06 00:17:46.033527441 -0700 pdt m=+2.582718548

我从 json 重新加载的时间戳:

2019-08-06 00:17:46.033527441 -0700 PDT

如果我将日期更改为 utc(),一切都会按预期工作(即以 time.now().utc() 开始)。

我知道位置不同,我只是不太确定 m=... 参数代表什么以及为什么它不会出现在我从 json 重新加载的日期中,因为它是完全相同的日期.

那么...那个字段是什么?


解决方案


fmt.Println(time.Now().String())

string 返回使用格式字符串“2006-01-02”格式化的时间 15:04:05.999999999 -0700 mst" 如果时间有单调时钟 读取,返回的字符串包含最后一个字段“m=±”, 其中 value 是格式化为十进制的单调时钟读数 秒数。返回的字符串用于调试;为一个 稳定的序列化表示,使用 t.marshaltext、t.marshalbinary, 或 t.format 具有显式格式字符串。

Reference

Monotonic Clocks

操作系统提供了一个“挂钟”, 受时钟同步变化的影响,并且“单调” 时钟”,但事实并非如此。一般规则是挂钟的用途是 告诉时间,单调时钟用于测量时间。相当 比分割api,在这个包中,时间由time.now返回 包含挂钟读数和单调时钟读数; 后来的报时操作使用挂钟读数,但后来 时间测量操作,特别是比较和减法, 使用单调时钟读数。

今天关于《解读 JSON 中日期保存后重新加载出现小数的微妙变化》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>