【问题标题】:Convert "04.05.2003 23:00:00.000 GMT+0200" to date variable in R将“04.05.2003 23:00:00.000 GMT+0200”转换为 R 中的日期变量
【发布时间】:2021-06-10 08:31:32
【问题描述】:

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

 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")

但我有一个空单元格。我不知道如何转换它。

【问题讨论】:

  • 罗纳克是个意外。我的道歉

标签: r date as.date


【解决方案1】:

使用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"

【讨论】:

  • 它为这个例子正确生成了日期。你知道我如何将这个函数推广到一个向量: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 04.05.2003 23:45:00.000 GMT+0200 05.05.2003 00:00:00.000 GMT+0200 05.05.2003 00:15:00.000 GMT+0200 05.05.2003 00:30:00.000 GMT+0200
  • @Marc 函数也适用于向量。查看更新的答案。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    相关资源
    最近更新 更多