Преобразование строки даты UTC в локализованную строку даты в Ruby или Rails - PullRequest
0 голосов
/ 05 октября 2019

У меня есть дата, сохраненная в виде строки:

my_utc_date_str = "2019-09-15T20:42:15"

Это сохраняется в виде строки даты UTC

Моя локальная зона:

America/Los_Angeles

Я хотел бы получить:

2019-09-15 13:42:15

Это та дата UTC, локализованная в Тихоокеанском часовом поясе США.

Я пробовал различные комбинации DateTime, Time и Date безудачи. Любые идеи кланяются, чтобы сделать это, не меняя часовой пояс для сеанса?

1 Ответ

2 голосов
/ 05 октября 2019
Time.zone.parse("2019-09-15T20:42:15")
    .in_time_zone("America/Los_Angeles")
    .strftime("%Y-%m-%d %H:%M:%S")
# => "2019-09-15 13:42:15"

См. ActiveSupport :: TimeWithZone для расширения ActiveSupport для объектов времени и даты Rubys и ActiveSupport :: TimeZone для списка сопоставлений часовых поясов.

Но по причинам кэширования вы должны рассмотреть возможность локализации даты и времени на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...