Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在lua中比较人工格式的时间?_Lua - Fatal编程技术网

如何在lua中比较人工格式的时间?

如何在lua中比较人工格式的时间?,lua,Lua,有没有办法将人类可读的时间“09:41:43”转换成类似的格式 我想要的是函数timemorer(time1,time2),满足以下断言 assert(true == timeGreater("09:41:43", "09:00:42")) assert(false == timeGreater("12:55:43", "19:00:43"))) 看起来简单的字符串比较就足够了(假设时间有效): 看起来简单的字符串比较就足够了(假设时间有效): 将时间转换为秒应该是可行的。下面的代码可能有用,

有没有办法将人类可读的时间“09:41:43”转换成类似的格式

我想要的是
函数timemorer(time1,time2)
,满足以下断言

assert(true == timeGreater("09:41:43", "09:00:42"))
assert(false == timeGreater("12:55:43", "19:00:43")))

看起来简单的字符串比较就足够了(假设时间有效):


看起来简单的字符串比较就足够了(假设时间有效):


将时间转换为秒应该是可行的。下面的代码可能有用,LUA不是我的强项

function stime(s)
    local pattern = "(%d+):(%d+):(%d+)"
    local hours, minutes, seconds = string.match(s, pattern)
    return (hours*3600)+(minutes*60)+seconds
end

function timeGreater(a, b)
    return stime(a) > stime(b)
end

将时间转换为秒应该是可行的。下面的代码可能有用,LUA不是我的强项

function stime(s)
    local pattern = "(%d+):(%d+):(%d+)"
    local hours, minutes, seconds = string.match(s, pattern)
    return (hours*3600)+(minutes*60)+seconds
end

function timeGreater(a, b)
    return stime(a) > stime(b)
end

不,字符串比较返回nil。抱歉,我发现它在文件中工作,但在lua命令提示符中不工作。;)@NeilJiang,它应该可以在文件和交互模式下工作。@Cubic,no,
assert(42)
成功,
assert(true==42)
失败。no,字符串比较返回nil。抱歉,我发现它可以在文件中工作,但不能在lua命令提示符下工作。;)@NeilJiang,它应该在文件和交互模式下都能工作。@Cubic,不,
assert(42)
成功,
assert(true==42)
失败。