我一直试图根据一天中的时间输出MorningAfternoon。我把时间变成一根细绳,试着与之比较以下是我所拥有的:

t = Time.now
# => 2016-05-11 07:18:10 -0500
if t.to_s >= '12:00'
  'Good afternoon'
else
  'Good morning'
end
# => "Good afternoon"

默认为"Good afternoon"这是为什么?是因为Ruby在24小时内设置时间吗或者是编码中的某些东西?

最佳答案

不需要任何字符串操作:

t = Time.now
# => 2016-05-11 20:26:11 +0800
t.hour
# => 20

只需将其hour(整数)与12进行比较。

10-07 22:08