在Go中,对于time.Now()获取时间戳尾随m = xx.xxxx ...,那m是什么意思?
如何在打印时删除它或是否有任何其他方式或功能来获取没有m的时间戳
例如: - 对于time.Now()获取输出=> 2009-11-10 23:00:00 +0000 UTC m = + 0.000000001
但我需要这样的输出=> 2009-11-10 23:00:00 +0000 UTC
我需要这样的输出=> 2009-11-10 23:00:00 +0000 UTC
导入“时间”
单调时钟
操作系统既提供“挂钟”,也可以改变时钟同步,而“单调时钟”则不然。一般规则是挂钟用于告知时间,单调时钟用于测量时间。而不是拆分API,在这个包中Time by Time.Now包含挂钟读数和单调时钟读数;后来的时间操作使用挂钟读数,但后来的时间测量操作,特别是比较和减法,使用单调时钟读数。
剥离单调时钟读数的规范方法是使用t = t.Round(0)。
func (t Time) Round(d Duration) Time
Round将舍入t的结果返回到d的最接近的倍数(从零时间开始)。中途值的舍入行为是向上舍入。如果d <= 0,Round返回t剥离任何单调时钟读数,否则不变。
func (t Time) String() string
String返回使用格式字符串格式化的时间
如果时间具有单调时钟读数,则返回的字符串包括最终字段“m =±”,其中值是单调时钟读数,格式化为十进制秒数。
剥离单调时钟读取的规范方法是使用
t = t.Round(0)
。
例如,
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
fmt.Println(t)
fmt.Println(t.Round(0))
}
游乐场:https://play.golang.org/p/nglDbs9IGdU
输出:
2009-11-10 23:00:00 +0000 UTC m=+0.000000001
2009-11-10 23:00:00 +0000 UTC
所有你需要的是:
time.Now().Truncate(0)
根据doc on time.String()
如果时间具有单调时钟读数,则返回的字符串包括最终字段“m =±”,其中值是单调时钟读数,格式化为十进制秒数。
而time.Truncate()godoc说:
Truncate将舍入t的结果返回到d的倍数(从零时间开始)。如果d <= 0,则Truncate返回t剥离任何单调时钟读数但不改变。