1

人間が読める時間「09:41:43」を同等の形式に変換する方法はありますか?

私が欲しいのはfunction timeGreater(time1, time2)、以下の主張を満たすことです

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

2 に答える 2

4

単純な文字列比較で十分なようです(時間が有効であると仮定)。

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

assert(true == timeGreater("09:41:43", "09:00:42"))
assert(false == timeGreater("12:55:43", "19:00:43"))
于 2013-03-13T02:02:29.993 に答える
4

時間を秒に変換するとうまくいくはずです。以下のコードはうまくいくかもしれませんが、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
于 2013-03-13T02:08:16.563 に答える