我正在尝试将持续时间(以秒为单位)格式化为时间,我得到的结果表明我应该在某处考虑一个时代。我预计os.date("%X", 0)
会产生“00:00:00”,但它返回“20:00:00”以及“12/31/69”的日期值(虽然我不需要日历日期)。
有没有一种标准的方法来获取一个持续时间字符串,它会导致 0 秒产生一个代表总共零秒的时钟?我似乎无法在任何地方找到我正在尝试做的事情的例子。
谢谢
在大多数系统(即 POSIX)中,os.date("%X",0)
为您提供时代的时间,即 00:00:00(协调世界时,UTC),1970 年 1 月 1 日。20:00:00
因为您处于不同的时区。
要强制使用 UTC 而不是您的时区,请以!
. 这在手册中有所提及。
所以,os.date("!%X",0)
根据00:00:00
需要使用。它可以在少于一天 (86400) 的任何秒数内工作。例如,os.date("!%X",70)
给出00:01:10
:1 分 10 秒。
Lua 没有庞大的标准库:
string.format("%.2d:%.2d:%.2d", s/(60*60), s/60%60, s%60)