Преобразование числового времени в формат даты и времени POSIXct в R
У меня есть фрейм данных, содержащий то, что должно быть столбцом datetime, который был считан в R. Значения времени отображаются в виде числового времени, как видно из приведенного ниже примера данных. Я хотел бы преобразовать их в формат datetime POSIXct или POSIXlt, чтобы можно было просматривать дату и время.
tdat <- c(974424L, 974430L, 974436L, 974442L, 974448L, 974454L, 974460L, 974466L, 974472L,
974478L, 974484L, 974490L, 974496L, 974502L, 974508L, 974514L, 974520L, 974526L,
974532L,974538L)
974424
следует приравнять к 00:00:00 01/03/2011
, но не знает время возникновения числовых значений (т.е. 1970-01-01, использованное ниже, не работает). Я пытался использовать команды, такие как ниже, чтобы добиться этого, и провел время, пытаясь получить as.POXISct
работать, но я не нашел решения (т.е. я либо получаю POSIXct-объект NA, либо получаю неясные значения datetime).
Попытки преобразовать числовое время в datetime:
datetime <- as.POSIXct(strptime(time, format = "%d/%m/%Y %H:%M:%S"))
datetime <- as.POSIXct(as.numeric(time), origin='1970-01-01')
Я уверен, что это просто сделать. Любая помощь будет принята. Спасибо!
1 ответ
Попробуйте один из них в зависимости от того, какой часовой пояс вы хотите:
t.gmt <- as.POSIXct(3600 * (tdat - 974424), origin = '2011-03-01', tz = "GMT")
t.local <- as.POSIXct(format(t.gmt))