将“04.05.2003 23:00:00.000 GMT+0200”转换为 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"