在魔兽世界中,将 Lua 转换格式的“X h X min”转换为秒。

在魔兽世界游戏中,我通过其 API 已经获取到了任务剩余时间。问题是我想把它转换为秒,以便于检查任务完成时间。如果我在游戏中调用 time() 函数,我会得到类似于 1418569973 的响应结果,这对我来说毫无意义。但这就是我需要将其转换为秒的原因,因为这样我就能够将得到的秒数加上当前时间,得到任务的结束时间。

但我的问题是,当我查看给我返回任务当前剩余时间的表格时,它会返回一个格式为 "X h X min" 的字符串,例如 "4 h 34 min"。我需要将其转换为秒,但我真的不知道从哪里开始。我在想着写一个函数来删除 "h" 和 "min"。但从那里起我真的不确定需要做些什么。

点赞
用户1190388
用户1190388

os.time() 返回自纪元以来的秒数。因此,"1418569973" 给出了 "12/14/14 03:12:53 PM" UTC。现在,要将您的字符串转换为秒:

local iH, iM = sInput:match "(%d+) h (%d+) min"
iH, iM = tonumber( iH ), tonumber( iM )
local iSec = iH * 3600 + iM * 60
2014-12-14 15:36:46