rails 人类友好时间是上午 下午 而不是 24 小时?

Human friendly times in rails with AM PM rather than 24 hour?

是否有 rails 方法来转换某些 ActiveSupport::TimeZone 对象,例如2021-01-15 04:32:30 UTC 进入像 2021-01-15 04:32:30 PM 这样更人性化的时代 ?

如果是 after/before 中午,操作字符串并计算出来会很容易,但我只是想检查一下是否已经有东西可以做到这一点

您可以使用 strftime 将时间对象转换为所需格式。

Time.now.strftime("%Y-%m-%d %H:%M:%S %p")
=> "2020-10-27 13:49:35 PM"

Rails为Time对象提供to_formatted_s方法,您可以在config/initializers/time_formats.rb

中设置自定义格式

config/initializers/time_formats.rb

Time::DATE_FORMATS[:custom_date_format] = lambda { |time| time.strftime("%Y-%m-%d %H:%M:%S %p") }

并像

一样使用它
Time.now.to_formatted_s(:custom_date_format)

Time.now.to_s(:custom_date_format)