R - преобразование метки времени в местное время и дату - PullRequest
0 голосов
/ 13 июля 2020

Как преобразовать метку времени в местное время и дату?

Я пробовал следующие параметры для этой спецификации c метка времени: 1594598065352:

x <- as.POSIXct(as.numeric(as.character('1594598065352'))/1000, origin="1970-01-01", tz="UTC")
x
"2020-07-12 23:54:25 UTC"

x <- as.POSIXct(as.numeric(as.character('1594598065352'))/1000, origin="1970-01-01", tz="DST")
x
"2020-07-12 23:54:25 DST"

x <- as.POSIXct(as.numeric(as.character('1594598065352'))/1000, origin="1970-01-01", tz="GMT")
x
"2020-07-12 23:54:25 GMT"

Я получаю тот же результат во всех вариантах:

2020-07-12 23:54:25

Согласно этой странице конвертера временных меток , я должен получить это ниже в моем местном часовом поясе :

Monday, 13 July 2020 01:54:25.352 GMT+02:00 DST

Есть идеи, как я могу сделать это прямо в R?

1 Ответ

1 голос
/ 13 июля 2020

Вы получите одинаковый результат во всех 3 случаях, потому что 1) и 3) одинаковы (UT C и GMT), тогда как 2) (DST) не является допустимым значением tz.

Если вы не указываете значение часового пояса, которое по умолчанию должно давать вам время в вашем местном часовом поясе.

as.POSIXct(as.numeric('1594598065352')/1000, origin="1970-01-01")

В качестве альтернативы, вы можете запустить OlsonNames() в консоли, чтобы получить список действующих часовых поясов в R. 'Etc/GMT-2' кажется вам подходящим.

as.POSIXct(as.numeric('1594598065352')/1000,origin="1970-01-01", tz = 'Etc/GMT-2')
#[1] "2020-07-13 01:54:25 +02"
...