我需要实现一个lua函数来将ISO 8601
中的时间格式转换为秒或毫秒,Lua
中是否有可用的内置库,或者我们必须实现?
ISO 8601格式的示例:
PT1S, PT0.010S, PT0.001S---> to seconds or milliseconds.
答案 0 :(得分:0)
以下代码转换PTxxxS
形式的字符串:
s="PT0.001S"
print(tonumber(s:match("PT([%d.]+)S")))
更一般地说,此代码将持续时间字符串解析为表格,然后您可以轻松处理:
s= "P3Y6M4DT12H30M5S"
t = {Y=0, M=0, W=0, D=0, H=0, M=0, S=0}
for v,k in s:gmatch("([%d.,]+)(%u)") do
t[k]=tonumber(v)
end