我试图了解time.Now()和之间的区别time.Now().Local().我开始在笔记本电脑上打印出来(运行Ubuntu 18.04):
fmt.Println(time.Now())
fmt.Println(time.Now().Local())
Run Code Online (Sandbox Code Playgroud)
这给了我
2018-12-23 19:57:08.606595466 +0100 CET m=+0.000583834
2018-12-23 19:57:08.606667843 +0100 CET
Run Code Online (Sandbox Code Playgroud)
我不确定是什么m=+0.000583834.也许我的机器和NTP服务器之间的区别?
现在返回当前的本地时间.
和
本地返回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).