windows - 在 Go 中将窗口刻度转换为 UNIX 时间戳

标签 windows time go timestamp unix-timestamp

<分区>

我正在尝试转换 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/

相关文章:

windows - 仅在出错时解析命令的输出,并且仅使用 native 批处理命令

下面程序中的c程序错误?

go - 如何在go中找到实现接口(interface)的类型

mongodb - Golang mgo 获取空对象

c++ - 我可以在 _beginthreadex() 成功后立即调用 CloseHandle() 吗?

windows - Sublime 作为默认编辑器

ruby-on-rails - Rails 一天 12 小时 AM/PM 范围

r - 为什么在大型稀疏矩阵上的 R 行提取比将其分成较小的部分然后提取时要慢?

go - 将嵌套结构中的 slice 传递给 Go 中的 Revel 模板

node.js - 使用 Node cross-env 的多个命令的语法(windows 和 linux)