查看时间下午2点到8点

查看时间下午2点到8点

问题描述:

如何查看时间是在下午2点到上午8点之间?这是行不通的:查看时间下午2点到8点

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

如果时间是凌晨1点,它应该返回9,其他4(我想如果9傍晚或晚上如果“正常白天” - 4。) 任何想法?

+0

交换下午2:00和8:00。第一个参数应该是较低的值,上午8点之前首先出现在下午2点之前。 – jvnill

+0

可能的重复[如何使用红宝石下载图片?](http://stackoverflow.com/questions/1074309/how-do-i-download-a-picture-using-ruby) –

+0

@boulder_ruby您粘贴错误的链接? –

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

[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 

UPDATE

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

+0

但它不工作(或我做错了什么)。如果晚上或晚上,我需要9。如果'白天正常' - 4 – Kam

+0

添加了更新。 – jvnill