Ahk v2 当前 Unix 时间戳

问题描述 投票:0回答:1

我正在尝试获取当前时间戳,即从 1970 年 1 月 1 日起过去的秒数。但好像在 ahk 中没有像某些语言那样的函数。我尝试做研究,但除了将年、月、小时、分钟和秒相乘和相加之外,似乎没有其他方法可以做到这一点。

所以我的问题是我们如何在 ahk 中模仿这个功能? (我不会提供代码示例,因为它与这里无关。)

autohotkey unix-timestamp
1个回答
0
投票

您可以尝试使用 DateDiff 来实现它。

一个幼稚的实现可能看起来像这样:

epoch := "19700101000000"
diff := DateDiff(A_Now, epoch, Seconds)
MsgBox(diff)

但是,重要的是要注意 AutoHotkey 的

DateDiff
使用当地时间,并且在任何情况下都不接受任何时区信息。因此,如果您的用例需要的话,您可能需要弄清楚如何调整它以获得准确的 unix 时间戳。

epoch := "19700101000000"
local_diff := DateDiff(A_Now, epoch, Seconds)
utc_offset_seconds := DateDiff(A_Now, A_NowUTC, Seconds)
unix_timestamp := local_diff + utc_offset_seconds
© www.soinside.com 2019 - 2024. All rights reserved.