Время в формате W3C - PullRequest
       15

Время в формате W3C

4 голосов
/ 06 апреля 2011

Как отобразить время в формате W3C, включая часы, минуты, секунды и смещение часового пояса.

Пример:

1997-07-16T19:20:30+01:00

Обновление 1

У меня есть следующее объявление в config / locales / my_locale.yml:

time:
  formats:
    w3c: %Y-%m-%dT%H:%M

Единственная недостающая часть - это смещение, например "+01: 00". Что такое символ интерполяции для него?

Я нашел эту ссылку, которая содержит часовой пояс имя , интерполированный с% Z.

Но где же смещение ?

Ответы [ 3 ]

5 голосов
/ 17 мая 2013

На самом деле вы должны использовать%: z, чтобы включить символ +. Вам также нужно включить секунды.

"%Y-%m-%dT%H:%M:%S%:z"

Обновление: обратите внимание, что это возможно только в Ruby 1.9.3+, токен формата%: z недоступен в более ранних версиях!

0 голосов
/ 19 февраля 2015

Вы уже получили ответ, но я просто хотел сказать, что, поскольку это зависит не от языкового стандарта пользователя, а от стандарта, определенного организацией, может быть лучше оставить его вне файла локали, такого как en.yml

Я лично добавляю

Time::DATE_FORMATS[:w3c] = "%Y-%m-%dT%H:%M:%S%:z"
Date::DATE_FORMATS[:w3c] = "%Y-%m-%d"

внизу application.rb

0 голосов
/ 09 апреля 2011

Чтобы вставить часовой пояс смещение , следует использовать клавишу% z (строчная буква).

...