Add custom DateTime format in Rails
Global time format for entire Rails App
# config/initializers/time_formats.rb Time::DATE_FORMATS[:us] = "%m/%d/%Y %I:%M %p"
# spec/config/initializers/time_formats_spec.rb RSpec.describe "Custom Time Formats" do describe "us time format" do it do time = Time.parse "2013-12-11 10:09:08" expect(time.to_fs(:us)).to eq("12/11/2013 10:09 AM") end end end
Locales time format (translations)
usage by l helper is not using custom defined formats in Time::DATE_FORMATS as format is different from country to country (e.g US vs GB time)
https://www.rubydoc.info/gems/i18n/I18n/Backend/Base:localize
https://www.rubydoc.info/gems/i18n/I18n/Backend/Base:localize
# config/locales/en.yml en: time: formats: admin: "%m/%d/%Y"
# show.html.erb <%= l @company.created_at, format: :admin %>