包括时移时的 lubridate ymd_hms() 奇怪的输出

lubridate ymd_hms() strange output when time shift is included

我对 lubridate packageymd_hms() 的输出感到困惑。 我从网上抓取了一些数据,其中包含以下格式的时间戳:

time_series <- c("2019-10-17 23:43:50+00:00", "2019-10-17 23:43:50+01:00")

如果我在时间序列上使用 ymd_hms(),我会得到以下结果:

 library(ludridate)    
 ymd_hms(time_series)
 # [1] "2019-10-17 23:43:50 UTC" "2019-10-17 22:43:50 UTC"

为什么第二个时间戳提前一小时转换?根据我的理解以及在我抓取数据的网站上,应该是一小时后 (+01:00):

#[1] "2019-10-17 23:43:50 UTC" "2019-10-18 00:43:50 UTC"

我错了什么?以及如何更改 ymd_hms() 的行为以获得所需的输出?

尽管这是一个老问题。 Piotr K 是完全正确的。时间始终根据协调世界时 (UTC) 进行通信。所以时间戳 hh:mm:ss+01:00 表示 UTC + 1 小时。由于 ymd_hms() 默认情况下将所有时间戳转换为 UTC,因此上述行为是绝对正确的。