You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AutoHotkey v2中实现获取当前Unix时间戳的功能?

在AutoHotkey v2中获取Unix时间戳的方法

不用手动累加年、月、日等时间单位计算,借助Windows系统的时间转换机制就能高效实现,以下是可靠的实现方式:

实现函数

GetUnixTimestamp() {
    ; 获取当前UTC时间对应的文件时间(Windows文件时间以1601年1月1日为起点,单位100纳秒)
    currentFileTime := FileTimeFromSystemTime(A_NowUTC)
    ; 1970年1月1日00:00:00 UTC对应的Windows文件时间固定值
    unixEpochFileTime := 116444736000000000
    ; 计算从Unix纪元到现在的100纳秒间隔数,再转换为秒(1秒=10^7个100纳秒单位)
    return Floor((currentFileTime - unixEpochFileTime) / 10000000)
}

原理说明

  • Windows系统的文件时间以1601年1月1日为时间起点,单位是100纳秒;而Unix时间戳以1970年1月1日00:00:00 UTC为起点,单位是秒。
  • 两者的时间差是固定值116444736000000000(即从1601到1970年的总100纳秒间隔数),用当前UTC时间的文件时间减去这个固定值,再除以10^7(转换为秒),取整后就是标准的Unix时间戳。
  • 这种方法避免了手动计算闰年、月份天数、时区偏移等容易出错的环节,准确性和效率都更高。

内容的提问来源于stack exchange,提问作者Brawldude2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:12:02