#r #lubridate
#r #lubridate
Вопрос:
У меня есть дата-время 2019-03-10 02:43:00
в POSIXct
формате. Обратите внимание на следующее поведение:
lubridate::ymd_hms("2019-03-10 02:43:00", tz = "America/Los_Angeles")
[1] NA
Warning message:
1 failed to parse.
lubridate::ymd_hms("2019-03-10 01:59:00", tz = "America/Los_Angeles")
[1] "2019-03-10 01:59:00 PST"
lubridate::ymd_hms("2019-03-10 03:00:00", tz = "America/Los_Angeles")
[1] "2019-03-10 03:00:00 PDT"
Любое значение времени между 02:00 — 02:59 для этой даты дает «NA`.
Ответ №1:
Ответ заключается в том, что в часовом поясе США / Тихоокеанского региона 2019-03-10 переход на летнее время в 02:00, что делает любое время в этот день между 02:00 — 02:59 неоднозначным.
Редактировать: Как отметил Rui в комментариях, 2-е воскресенье марта является официальным переходом на летнее время в США.
Я публикую в надежде, что другие найдут это полезным для устранения неполадок.
Комментарии:
1. Вы могли бы значительно улучшить вопрос, добавив ссылку на эту статью в Википедии о тихоокеанском переходе на летнее время. И
format(as.Date("2019-03-10"), "%w")
возвращает0
, что означает, что это воскресенье. И как день 10 месяца, это 2- е воскресенье марта.