在Lua中获取UTC UNIX时间戳
问题描述:
API返回一个时间戳作为UNIX时间戳,我想知道这个时间戳是否大于x
秒前。正如预期的那样,这可以在UTC使用os.time() - x > timestamp
,但在其他时区爆炸。在Lua中获取UTC UNIX时间戳
不幸的是我找不到解决这个问题的好方法。
os.date
有益有!
前缀(例如os.date("!%H:%M:%S")
)在UTC返回时间,但似乎是,尽管文档说明它支持所有strftime
选项,这不支持%s
选项。我听说有人提到这是由于类似问题的Lua编译时间选项造成的,但由于解释器是由用户提供的,所以更改这些是不可能的。
答
您可以使用
os.time(os.date("!*t"))
来得到当前的UNIX纪元。
哦,这很有意义。我曾经尝试过,我无法做到有用! – Atsch
有关性能的说明:这比使用os.time()和减去差异要慢500倍左右。但是,因为我预计有这种方法的错误,并希望最大味精/秒大约200我将与此一起去。 – Atsch
很高兴你测量。 – Joe