Lua - 获取特定时区的时间和日期

Lua - get time and date of specific time zone

我想要 Lua 中特定时区的时间和日期,格式设置为 os.date("%a %b %d, %H:%M") 会 return。

我知道 os.date("!%a %b %d, %H:%M")(添加感叹号“!”)给我 UTC 时间,但我如何从那里移动并偏移请求的时间?

在我的例子中,所需的时区是 UTC+08:00

os.date接受两个参数:

os.date ( [format [, time]] )

time 参数 - 以秒为单位 - 可用于抵消返回值。

由于os.time() returns 当前时间以秒为单位,您可以简单地添加您的偏移量 (8),乘以一分钟的秒数 (60),乘以一秒的分钟数 (60 ).

os.date( "!%a %b %d, %H:%M", os.time() + 8 * 60 * 60 )

如果您使用的是 UTC+01:00,这些是您将收到的输出类型:

> os.date( "%a %b %d, %H:%M")
Wed Mar 16, 09:33
> os.date( "!%a %b %d, %H:%M")
Wed Mar 16, 08:33
> os.date( "!%a %b %d, %H:%M", os.time() + 8 * 60 * 60 )
Wed Mar 16, 16:33

如果您的偏移量不是整小时,您当然必须使用小数。 例如:UTC+07:30 在等式中将是 7.5