ruby - 如何让时间回到早上或下午

标签 ruby time

我一直在尝试根据一天中的时间输出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"

默认为“下午好”。为什么是这样?是因为 Ruby 设置了 24 小时制的时间吗?还是编码中的某些东西?

最佳答案

您不需要任何字符串操作:

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

只需比较它的hour (整数)12

关于ruby - 如何让时间回到早上或下午,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162506/

相关文章:

http - http 响应的偶尔不可靠的 DATE 字段

java - 我如何确定语言环境在 Java 中使用的是 12 小时制还是 24 小时制?

ruby-on-rails - 从 Ruby 1.9.2 升级到 1.9.3,我应该重新安装所有 gem 吗?

ruby - 运行带参数的方法并给出返回值

ruby-on-rails - 如何处理 Postgresql 上的大量请求

jquery slider 、时间选择器和保留时间..

algorithm - 需要帮助在 MATLAB 中对齐时间序列数据

ruby - 是否可以使用 MiniTest 测试类方法(例如 Foo.bar)?

ruby-on-rails - 使用 Rails 进行移动地理定位?

ruby-on-rails - 显示持续时间(以分钟为单位)到小时