P.T*_*.T. 12 string datetime go
自从纪元以来我有一个毫秒的字符串(最初来自一个java.lang.System.currentTimeMillis()电话).在Go中将此字符串转换为人类可读时间戳字符串的正确方法是什么?
看时间包我看到了这个Parse功能,但布局似乎都是正常的基于时区的时间.一旦进入Time对象,我可以Format(Time.Stamp)用来获取我想要的输出,但我不清楚如何将字符串转换为Time对象.
Ste*_*erg 27
格式字符串不支持自纪元以来的毫秒数,因此您需要手动解析.例如:
func msToTime(ms string) (time.Time, error) {
msInt, err := strconv.ParseInt(ms, 10, 64)
if err != nil {
return time.Time{}, err
}
return time.Unix(0, msInt*int64(time.Millisecond)), nil
}
Run Code Online (Sandbox Code Playgroud)
查看http://play.golang.org/p/M1dWGLT8XE以播放实例.
2021 更新:您可以使用UnixMilli从整数解析。这将改善以下问题的可接受答案:
func msToTime(ms string) (time.Time, error) {
msInt, err := strconv.ParseInt(ms, 10, 64)
if err != nil {
return time.Time{}, err
}
return time.UnixMilli(msInt), nil
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9268 次 |
| 最近记录: |