Konwersja numeru seryjnego excel DateTime na R DateTime

Gdy tabele Excela są importowane jako punkty xy w ArcGIS, nadal tracę poprawną pieczęć DateTime dla każdego punktu. Dlatego sformatowałem numer seryjny DateTime, utworzyłem plik .shp i przeczytałem plik .shp do R za pomocą readOGR ().

Po wejściu do R mogę przekonwertować na prawidłową datę za pomocąas.Date() iorigin = "1899-12-30" argument, ale czas jest pominięty. Podczas gdy widziałem przykłady z wyłączną datą, nie widziałem przykładów z DateTime. Używamas.Date() jak równieżas.POSIXct() ale to z pozoru proste zadanie było trochę frustrujące, więc post…

Stworzyłem przykładowy zestaw danych z 10 wierszami prawidłowego formatu DateTime oraz numerem seryjnym programu Excel.

* Dzięki Richard i thelatemail za ich ostre oko na wcześniejszą przeszkodę. Poprawiłem dane i opublikowałem je tutaj.

Oto moje przykładowe dane

helpData <- structure(list(ID = 1:10, DateTime = structure(c(9L, 1L, 2L, 
3L, 4L, 5L, 6L, 7L, 8L, 8L), .Label = c("3/11/2011 7:55", "3/13/2011 7:55", 
"3/14/2011 0:00", "3/14/2011 10:04", "3/14/2011 7:55", "3/15/2011 19:55", 
"3/17/2011 7:55", "3/18/2011 4:04", "3/4/2011 6:00"), class = "factor"), 
ExcelNum = c(40606.25, 40613.32986, 40615.32986, 40616, 40616.41944, 
40616.32986, 40617.82986, 40619.32986, 40620.16944, 40620.16944
)), .Names = c("ID", "DateTime", "ExcelNum"), class = "data.frame", row.names = c(NA, 
-10L))

head(helpData)

DateTime to GMT. Czas to 24-godzinny zegar (tj. Nie AM / PM). Pracuję na Windows 7, mam najnowsze R i ArcGIS 10.

Poniższy kod otrzymuje prawidłową datę, ale nadal brakuje czasu.

newDateTime <- as.Date(helpData[ , "ExcelNum"], origin = "1899-12-30")
head(newDateTime)

Z góry dziękuję!

questionAnswers(4)

yourAnswerToTheQuestion