<分区>
我正在尝试转换 Windows Ticks进入 Go 的 native time.Time
.具体来说,我想将 635885625204626270
转换为 UNIX 时间戳。到目前为止,我只设法修改了一个 PHP 问题,并且最多可以达到几秒钟,但是我现在被困在这里。
ticksInUnix := (635885625204626270 / 10000000) - 60*60*24*365*1970
t := time.Unix(ticksInUnix, 0)
<分区>
我正在尝试转换 Windows Ticks进入 Go 的 native time.Time
.具体来说,我想将 635885625204626270
转换为 UNIX 时间戳。到目前为止,我只设法修改了一个 PHP 问题,并且最多可以达到几秒钟,但是我现在被困在这里。
ticksInUnix := (635885625204626270 / 10000000) - 60*60*24*365*1970
t := time.Unix(ticksInUnix, 0)
最佳答案
在尝试了很多其他编程语言的答案后,我发现这是最准确的:
t := time.Unix(0, ((635885625204626270)-60*60*24*365*1970*10000000)*100)
它应该是最精确的解决方案,因为它不对原始滴答计数执行除法,并且可以精确到微秒(前提是 Windows 可以在滴答计数上得到那么准确。)
关于windows - 在 Go 中将窗口刻度转换为 UNIX 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120459/