Próbowałem przeglądać ramkę danych, wyodrębniając wszystkie wiersze, w których składnik daty w kolumnie POSIXct był zgodny z pewną wartością. Natknąłem się na następujące, co mnie mylnie dezorientuje: as.Date(as.POSIXct(...))
nie zawsze zwraca poprawną datę.as.Date (jak.POSIXct()) podaje niewłaściwą datę?
> dt <- as.POSIXct('2012-08-06 09:35:23')
[1] "2012-08-06 09:35:23 EST"
> as.Date(dt)
[1] "2012-08-05"
Dlaczego data '2012-08- 09:35:23' równe „2012-08- ?
Podejrzewam, że to ma coś wspólnego z różnych stref czasowych używany, więc zauważyć, że strefa czasowa dt
był „EST” Dałem to as.Date
::
> as.Date(as.POSIXct('2012-08-06 09:35:23'), tz='EST')
[1] "2012-08-05"
Ale to wciąż powraca 2012-08-05 .
Dlaczego tak jest? Jak mogę znaleźć wszystkie dane w mojej ramce danych, które były w dniu 2012-08-06? (jako, że subset(my.df, as.character(as.Date(datetime), tz='EST') == '2012-08-06')
nie zwraca wiersza z datetime dt
, nawet jeśli miało to miejsce w dniu 2012-08-06 ...)?
Dodane szczegóły: Linux 64bit (chociaż mogą się rozmnażać na 32bit), można uzyskać to zarówno R 3.0.1 & 3.0.0 i jestem obecnie AEST (Australian Eastern Standard Time)
działa zgodnie z oczekiwaniami tutaj (R 3.0.0 w CEST stref czasowych) –