我想在Lua中将秒转换为iso 8601格式,但是我无法找到它,任何人都可以帮忙吗? 例如:60.001秒 - > PT1M0.001S
答案 0 :(得分:0)
答案 1 :(得分:0)
从
开始t = os.date("*t",os.time({day=1, month=1, year=2000, hour=0, min=0, sec=60.001}))
然后从t
中的字段构建字符串,从t.day
和t.month
减去1,从t.year
减去2000。对os.time
的调用处理算术,这是无聊的部分,但遗憾的是不支持几秒钟。
上面的代码在Lua 5.3之前有效,但是当sec
不包含整数时,它现在会引发错误。
更好的解决方案是
sec = 60.001
fsec = sec%1
sec = math.floor(sec)
t = os.date("*t",os.time({day=1, month=1, year=2000, hour=0, min=0, sec=sec}))
t.sec = t.sec + fsec