如何在Golang中将从1904年开始的秒数转换为日期时间?

huangapple go评论70阅读模式
英文:

How to convert seconds beginning from 1904 to datetime in golang?

问题

Go语言有一个time.Unix函数,用于将秒数转换为日期时间。

Unix函数返回与给定的Unix时间相对应的本地时间,该Unix时间是自1970年1月1日UTC起的sec秒和nsec纳秒数。

是否有一个函数可以将从1904年开始的秒数转换为日期时间?

基本上,我需要将从1904年开始的秒数3400769156转换为日期时间。

英文:

Go has a time.Unix function which converts seconds to datetime.

Unix returns the local Time corresponding to the given Unix time, sec seconds and nsec nanoseconds since January 1, 1970 UTC.

Is there a function which can convert seconds from 1904?

Basically in need to convert seconds beginning from 1904 3400769156 to datetime.

答案1

得分: 3

没有现成的函数,但是自己创建一个并不难:

func since1904ToTime(sec int64) time.Time {
	return time.Date(1904, time.January, 1, 0, 0, 0, 0, time.Local).Add(time.Second*time.Duration(sec))
}
英文:

No existing function, but creating one yourself isn't that hard:

func since1904ToTime(sec int64) time.Time {
	return time.Date(1904, time.January, 1, 0, 0, 0, 0, time.Local).Add(time.Second*time.Duration(sec))
}

huangapple
  • 本文由 发表于 2022年4月23日 22:33:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/71980594.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定