R - 将时间戳转换为本地时间和日期

R - converting a timestamp to a local time and date

如何将时间戳转换为本地时间和日期?

我已针对此特定时间戳尝试了以下选项: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

根据这个timestamp converter page,我应该在我的本地时区得到下面这个:

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

关于如何在 R 中做到这一点有什么想法吗?

您在所有 3 种情况下得到相同的输出,因为 1) 和 3) 相同(UTC 和 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"