【问题标题】:Lua - get time and date of specific time zoneLua - 获取特定时区的时间和日期
【发布时间】:2016-03-16 08:36:26
【问题描述】:

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

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

在我的情况下,所需的时区是 UTC+08:00

【问题讨论】:

标签: date datetime lua timezone timezone-offset


【解决方案1】:

os.date 接受两个参数:

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

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

由于os.time() 以秒为单位返回当前时间,您只需将偏移量 (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

【讨论】:

  • 夏令时怎么样?
猜你喜欢
  • 1970-01-01
  • 2016-03-12
  • 2018-11-25
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多