用ruby检查是早上还是下午

用ruby检查是早上还是下午,ruby,Ruby,如果时间是上午,我如何打印?如果时间是下午,我如何打印上午 00:00-12:00 12:00-00:00这个怎么样: puts Time.now.hour < 12 ? 'morning' : 'afternoon' 将Time.now.hour设置为

如果时间是上午,我如何打印?如果时间是下午,我如何打印上午

00:00-12:00

12:00-00:00

这个怎么样:

puts Time.now.hour < 12 ? 'morning' : 'afternoon'
将Time.now.hour设置为<12?”上午:'下午'
这相当于:

if Time.now.hour < 12
  puts 'morning'
else
  puts 'afternoon'
end
如果Time.now.hour<12
“早上好”
其他的
“下午”
结束

如果您经常做这个测试,另一种可能性是(我不是在提倡立即修补):

上课时间
早上好吗?
小时<12
结束
下午好吗?
小时>=12
结束
结束
花时间。现在。早上??'上午:'下午'
def获取时间(小时)
如果(小时>=5和小时9和小时11和小时13和小时16和小时
(0..11).include?(Time.now.hour) ? 'morning' : 'afternoon'
class Time
  def morning?
    hour < 12
  end
  def afternoon?
    hour >= 12
  end
end

puts Time.now.morning? ? 'morning' : 'afternoon'
def get_time_of_day(hour)
    if (hour >= 5 and hour <= 9)
      return "early_morning"
    elsif (hour > 9 and hour <= 11)
      return "late morning"
    elsif (hour > 11 and hour <= 13)
      return "early afternoon"
    elsif (hour > 13 and hour <= 16)
      return "late afternoon"
    elsif (hour > 16 and hour <= 19)
      return "evening"
    end
end

# example call
get_time_of_day(DateTime.now.hour)