2013-04-01 2 views
4

Итак, вот тонкая «причуда» в функции r as.Date, переходящая из POSIXct с часовым поясом, и мне интересно, является ли это ошибкой.as.Date() не относится к часовым поясам POSIXct

> as.POSIXct("2013-03-29", tz = "Europe/London") 
[1] "2013-03-29 GMT" 
> as.Date(as.POSIXct("2013-03-29", tz = "Europe/London")) 
[1] "2013-03-29" 

До сих пор нет проблем, но .....

> as.POSIXct("2013-04-01", tz = "Europe/London") 
[1] "2013-04-01 BST" 
> as.Date(as.POSIXct("2013-04-01", tz = "Europe/London")) 
[1] "2013-03-31" 

Кто-нибудь видел это? Это ошибка или другая причуда? Первоапрельские розыгрыши?

+0

'Европа/Берлин' * не * также с' as.Date' восходит к 31 марта. – Arun

+0

Я запускаю это на Windows 7 x64. Позвольте мне попробовать Ubuntu .... –

+0

Но это происходит и с "2013-03-01". 'as.Date' дает 28 февраля. – Arun

ответ

6

Часовой пояс по умолчанию для as.Date.POSIXct: "UTC" (см. Страницу справки). Попробуйте as.Date(as.POSIXct("2013-04-01", tz = "Europe/London"),tz = "Europe/London").

+0

aha! Думаю, я должен был проснуться позже;) –

Смежные вопросы