Преобразование числового времени в формат даты и времени 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))
Другие вопросы по тегам