现在我有一个丑陋的方法从 Go 的 time
包中获取 ISO 8601 本地时间字符串(我需要毫秒有效数字)。
t := time.Now()
now := fmt.Sprintf("%d-%02d-%02d %02d:%02d:%f",
t.Year(), t.Month(), t.Day(),
t.Hour(), t.Minute(),
float64(t.Second()) + float64(int(t.Nanosecond()/1E6))/1000)
fmt.Println(now)
我觉得这不是执行此操作的理想方法,但我找不到一个简单的内置方法的示例。有这种方式吗?
最佳答案
使用 t.Format("2006-01-02 15:04:05.000")
。
我假设如果秒数小于 10,则缺少零是一个错误;如果您确实需要,请将 05
更改为 5
。如果您希望小数点后有更多或更少的数字,请在格式末尾添加或删除零。
有关时间格式的更多信息 in the docs for the time package .
关于go - 如何使用 Go 的时间包像 RFC3339 一样格式化时间,但没有时区(即本地时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49438927/