%F -The ISO 8601 date format (%Y-%m-%d)%T -24-hour time (%H:%M:%S)
Ниже приведены некоторые из часто используемых полезных списков Dateи Timeформатов, которые можно указать в strftimeметоде:
Date(Year,Month,Day):%Y -Year with century (can be negative,4 digits at least)-0001,0000,1995,2009,14292, etc.%C - year /100(round down.20in2009)%y - year %100(00..99)%m -Month of the year, zero-padded (01..12)%_m blank-padded (1..12)%-m no-padded (1..12)%B -The full month name (``January'')%^B uppercased (``JANUARY'')%b -The abbreviated month name (``Jan'')%^b uppercased (``JAN'')%h -Equivalent to %b%d -Day of the month, zero-padded (01..31)%-d no-padded (1..31)%e -Day of the month, blank-padded (1..31)%j -Day of the year (001..366)Time(Hour,Minute,Second,Subsecond):%H -Hour of the day,24-hour clock, zero-padded (00..23)%k -Hour of the day,24-hour clock, blank-padded (0..23)%I -Hour of the day,12-hour clock, zero-padded (01..12)%l -Hour of the day,12-hour clock, blank-padded (1..12)%P -Meridian indicator, lowercase (``am''or``pm'')%p -Meridian indicator, uppercase (``AM''or``PM'')%M -Minute of the hour (00..59)%S -Second of the minute (00..59)%L -Millisecond of the second (000..999)%N -Fractional seconds digits, default is 9 digits (nanosecond)%3N millisecond (3 digits)%6N microsecond (6 digits)%9N nanosecond (9 digits)%12N picosecond (12 digits)
Для полного списка форматов для strftimeметода , пожалуйста , посетите APIDock
%Y%m%d =>20071119Calendar date (basic)%F =>2007-11-19Calendar date (extended)%Y-%m =>2007-11Calendar date, reduced accuracy, specific month%Y =>2007Calendar date, reduced accuracy, specific year%C =>20Calendar date, reduced accuracy, specific century%Y%j =>2007323Ordinal date (basic)%Y-%j =>2007-323Ordinal date (extended)%GW%V%u =>2007W471Week date (basic)%G-W%V-%u =>2007-W47-1Week date (extended)%GW%V =>2007W47Week date, reduced accuracy, specific week (basic)%G-W%V =>2007-W47 Week date, reduced accuracy, specific week (extended)%H%M%S =>083748Local time (basic)%T =>08:37:48Local time (extended)%H%M =>0837Local time, reduced accuracy, specific minute (basic)%H:%M =>08:37Local time, reduced accuracy, specific minute (extended)%H =>08Local time, reduced accuracy, specific hour%H%M%S,%L =>083748,000Local time with decimal fraction, comma as decimal sign (basic)%T,%L =>08:37:48,000Local time with decimal fraction, comma as decimal sign (extended)%H%M%S.%L =>083748.000Local time with decimal fraction, full stop as decimal sign (basic)%T.%L =>08:37:48.000Local time with decimal fraction, full stop as decimal sign (extended)%H%M%S%z =>083748-0600Local time and the difference from UTC (basic)%T%:z =>08:37:48-06:00Local time and the difference from UTC (extended)%Y%m%dT%H%M%S%z =>20071119T083748-0600Dateand time of day for calendar date (basic)%FT%T%:z =>2007-11-19T08:37:48-06:00Dateand time of day for calendar date (extended)%Y%jT%H%M%S%z =>2007323T083748-0600Dateand time of day for ordinal date (basic)%Y-%jT%T%:z =>2007-323T08:37:48-06:00Dateand time of day for ordinal date (extended)%GW%V%uT%H%M%S%z =>2007W471T083748-0600Dateand time of day for week date (basic)%G-W%V-%uT%T%:z =>2007-W47-1T08:37:48-06:00Dateand time of day for week date (extended)%Y%m%dT%H%M =>20071119T0837Calendar date and local time (basic)%FT%R =>2007-11-19T08:37Calendar date and local time (extended)%Y%jT%H%MZ =>2007323T0837ZOrdinal date and UTC of day (basic)%Y-%jT%RZ =>2007-323T08:37ZOrdinal date and UTC of day (extended)%GW%V%uT%H%M%z =>2007W471T0837-0600Week date and local time and difference from UTC (basic)%G-W%V-%uT%R%:z =>2007-W47-1T08:37-06:00Week date and local time and difference from UTC (extended)
Мне пришлось перезапустить сервер разработки, чтобы все заработало.
Али Харис
В дополнение к этому: «Добавление ваших собственных форматов даты и времени в #to_formatted_s» ( api.rubyonrails.org/classes/… )
Джованни Бенусси
16
Поскольку I18n является основной функцией Rails, начиная с версии 2.2, вы можете использовать его метод localize . Применяя вышеупомянутые переменные strftime%, вы можете указать желаемый формат под config/locales/en.yml(или на любом другом языке), в вашем случае следующим образом:
time:
formats:
default:'%FT%T'
Или, если вы хотите использовать такой формат в нескольких конкретных местах, вы можете указать его как такую переменную
time:
formats:
specific_format:'%FT%T'
После этого вы можете использовать его в своих представлениях следующим образом:
%A
если хотите день недели, например, «среда», или%a
«среда»Попробуй это:
Это функция форматирования времени, позволяющая представить строковое представление даты. ( http://ruby-doc.org/core-2.2.1/Time.html#method-i-strftime ).
Из APIdock:
источник
Создайте для него инициализатор:
Добавьте к нему что-то вроде этого:
А затем используйте его следующим образом:
⚠️ Вам необходимо перезапустить сервер rails, чтобы это работало.
Дополнительную информацию см. В документации: http://api.rubyonrails.org/v5.1/classes/DateTime.html#method-i-to_formatted_s
источник
Поскольку I18n является основной функцией Rails, начиная с версии 2.2, вы можете использовать его метод localize . Применяя вышеупомянутые переменные strftime%, вы можете указать желаемый формат под
config/locales/en.yml
(или на любом другом языке), в вашем случае следующим образом:Или, если вы хотите использовать такой формат в нескольких конкретных местах, вы можете указать его как такую переменную
После этого вы можете использовать его в своих представлениях следующим образом:
источник