检查下午2点到8点之间的时间

时间:2016-01-13 01:07:48

标签: ruby-on-rails ruby ruby-on-rails-4

如何检查时间是否在下午2点到8点之间?这不起作用:

value = Time.current.between?(Time.parse("2:00pm"), Time.parse("8:00am")) ? 9 : 4

如果时间是凌晨1点,那么它应该返回9,否则为4(如果是傍晚或夜晚,我想要9点。如果时间正常,那么#39; - 4) 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

下午2:00和上午8:00交换。第一个参数应该是较低的值,而上午8:00是在下午2:00之前的第一个参数。

[3] pry(main)> Time.current
=> 2016-01-13 09:21:14 +0800
[4] pry(main)> Time.current.between?(Time.parse('9:00am'), Time.parse('2:00pm'))
=> true
[5] pry(main)> Time.parse('1:00am').between?(Time.parse('9:00am'), Time.parse('2:00pm'))
=> false

更新

您也可以使用Time.current.hour.between?(9, 16)