Почему R не распознает CST как действительный часовой пояс? - PullRequest
2 голосов
/ 07 апреля 2011

Этот код работает:

ISOdatetime(2011,4,7,12,0,0, tz = "EST")

Этот код не:

ISOdatetime(2011,4,7,12,0,0, tz = "CST")

Мне нужен центральный часовой пояс, без настройки перехода на летнее время.Что я делаю неправильно?Где я могу найти таблицу часовых поясов, распознаваемых R?

edit: Спасибо за информацию, Джош, но ISOdatetime(2011,3,13,2,0,0, tz = "America/Chicago") дает NA, и, к сожалению, является значением в моем наборе данных.Есть идеи как с этим бороться?Похоже, мой набор данных по чикагскому времени, но он не учитывает переход на летнее время.

1 Ответ

3 голосов
/ 07 апреля 2011

См. ?timezone и файл, R_HOME/share/zoneinfo/zone.tab.

Нет такой вещи, как "центральный часовой пояс, без регулировки летнего времени". В центральном часовом поясе США действуют правила перехода на летнее время, и они менялись с годами. Вы всегда можете прочитать свои даты как GMT, добавить 6 часов, а затем преобразовать в CST6CDT.

> .POSIXct(ISOdatetime(2011,3,13,2,0,0, tz="GMT")+3600*6, tz="CST6CDT")
[1] "2011-03-13 03:00:00 CDT"
> .POSIXct(ISOdatetime(2011,3,13,2,0,0, tz="GMT")+3600*6, tz="America/Chicago")
[1] "2011-03-13 03:00:00 CDT"
...