将“04.05.2003 23:00:00.000 GMT+0200”转换为 R 中的日期变量

Convert "04.05.2003 23:00:00.000 GMT+0200" to date variable in R

我有一个表示时间的向量,例如:

 1. 04.05.2003 23:00:00.000 GMT+0200
 2. 04.05.2003 23:00:00.000 GMT+0200
 3. 04.05.2003 23:30:00.000 GMT+0200
 4. 04.05.2003 23:45:00.000 GMT+0200

我想要一个代表日期和日内变化的日期变量,我尝试使用以下方法将其转换为 R 中的日期变量:

as.POSIXct(variable,format="%d.%b.%Y %H:%M:%OS %Z")

但是我的单元格是空的。我不知道如何转换它。

使用lubridate::dmy_hms

variable <- c('4.05.2003 23:00:00.000 GMT+0200','04.05.2003 23:15:00.000 GMT+0200', '04.05.2003 23:30:00.000 GMT+0200')
variable  <- lubridate::dmy_hms(variable)
variable

#[1] "2003-05-04 21:00:00 UTC" "2003-05-04 21:15:00 UTC" "2003-05-04 21:30:00 UTC"

不确定时区,但您使用的是 %b 而您应该使用 %m:

as.POSIXct(variable,format="%d.%m.%Y %H:%M:%OS")
# "2003-05-04 23:00:00 GMT"