时间之间有什么区别。现在()和时间。现在()。本地()?



我试图了解time.Now()time.Now().Local()之间的区别。我首先在我的笔记本电脑上打印它们(运行 Ubuntu 18.04):

fmt.Println(time.Now())
fmt.Println(time.Now().Local())

这给了我

2018-12-23 19:57:08.606595466 +0100 CET m=+0.000583834
2018-12-23 19:57:08.606667843 +0100 CET

我不确定m=+0.000583834是什么。也许我的机器和 NTP 服务器之间的区别?

然后我查看了 .Now().Local() 上的文档,内容如下:

现在返回当前本地时间。

本地

返回 t,并将位置设置为本地时间。

它们都返回当地时间,所以我仍然不确定有什么区别。我试着四处寻找,但我真的找不到明确的答案。

谁能对此有所了解?

time.Now().Local()

时间的位置设置为本地时间。 time.Now() 已设置为本地时间,因此除了m位之外没有净效果。

m部分是单调时钟。

操作系统既提供"挂钟"(可能会

因时钟同步而发生变化),也提供"单调时钟"(则不然)。一般规则是挂钟用于报时,单调时钟用于测量时间。

自程序启动以来,单调时钟基本上是一个简单的计数。 m=+0.000583834说时间是程序启动后的0.000583834秒。

time.Now().Local()明确剥离了单调时钟...

由于 t.In、t.Local和t.UTC用于对墙壁时间的解释的影响,因此它们还会从结果中剥离任何单调的时钟读数。剥离单调时钟读数的规范方法是使用 t = t.Round(0)。

相关内容

  • 没有找到相关文章

最新更新