在Lua中,如何考虑夏令时获取纽约时间?

我正在尝试使用 Lua 代码获取纽约时间(与我的本地时间不同):

local utc_t = os.date("!*t", os.time())
local tzoffset = -1 * 5 * 60 * 60   -- EST is -05:00 from UTC
local est_t = os.date("*t", os.time(utc_t) + tzoffset)

然而,对于纽约而言,存在夏令时(而且夏令时的进入/退出日期每年都不同)。

在夏令时期间,纽约时间为 EDT(距离 UTC 为 -04:00)。

是否有任何方法可以在任何本地时区以任何给定时间获取正确的纽约时间?

点赞
用户841581
用户841581

使用 luatz 库。具体来说,使用函数 time_in(timezone_name)

你可以将其作为一个 rock 安装,或者获取源代码。查看https://rocks.moonscript.org/modules/daurnimator/luatz 获取进一步信息。

2014-05-22 15:35:11