UTC 中的 os.date -> os.time -> os.date 往返似乎没有回到同一时间:
print(os.date( "!%a %b %d %H:%M:%S %Y"))
print(os.date("%c" , os.time( os.date("!*t", os.time() ) ) ))
输出:
2024 年 4 月 15 日星期一 16:08:48
2024 年 4 月 15 日星期一 17:08:48
我错过了什么?
附注第一行是正确的时间
我认为由于某种原因,isdst(夏令时)值被切换,并且给出了 1 小时的偏移。
以下代码应该修复偏移量。
print(os.date("!%a %b %d %H:%M:%S %Y"))
local dt = os.date("!*t",os.time())
dt.isdst = true
print(os.date("%c", os.time(dt)))