新手问题 一个关于当前时间所在范围的判断,or 字符串 整型判断

wminjay · 2013年01月28日 · 最后由 chucai 回复于 2013年01月28日 · 3160 次阅读

t = Time.now.strftime("%H") if t>9 && t<20 then puts "ok" end

提示: in `>': comparison of String with 9 failed (ArgumentError)

于是修改了一下

t = Integer(Time.now.strftime("%H")) if t>9 && t<20 then puts "ok" end

结果提示 : in `Integer': invalid value for Integer: "09" (ArgumentError)

我蛋疼了,各位有什么好办法吗? 我的需求是判断时间在 9 点 -20 点之间输出 ok

原来这样就 ok 了 t = Time.now.strftime("%H").to_i if t>9 && t<20 then puts "ok" end

puts "ok" if (10..19).include? Time.now.hour

可以用 Range

p "OK" if (9..20) === Time.now.hour

0 开头的会被认为是 8 进制

看来Integer方法和 js 的一样蛋疼

puts "ok" if Time.now.hour.in?(10..19)
需要 登录 后方可回复, 如果你还没有账号请 注册新账号