如何使用mutate正确格式化R中的日期时间列?

如何使用mutate正确格式化R中的日期时间列?,r,dplyr,R,Dplyr,我正在尝试将字符串列格式化为日期时间序列 列中的行类似于此示例:“2019-02-27T19:08:29+000” (dateTime是列,是变量) 但结果是: 2019-02-27 时间、分和秒呢 我需要它按日期时间应用过滤器您的代码几乎正确。只是额外的0和as.Date命令错误: library("dplyr") df <- data.frame(dateTime = "2019-02-27T19:08:29+000", stringsAsFactors = F

我正在尝试将字符串列格式化为日期时间序列

列中的行类似于此示例:“2019-02-27T19:08:29+000”

(dateTime是列,是变量)

但结果是:

2019-02-27
时间、分和秒呢


我需要它按日期时间应用过滤器

您的代码几乎正确。只是额外的0和
as.Date
命令错误:

library("dplyr")
df <- data.frame(dateTime = "2019-02-27T19:08:29+000",
           stringsAsFactors = FALSE)

mutate(df, dateTime = as.POSIXct(dateTime, format = "%Y-%m-%dT%H:%M:%S+000"))
库(“dplyr”)
df改用
作为.POSIXct(dateTime,format=“%Y-%m-%dT%H:%m:%S+000”)
。请注意,您的format参数中有一个输入错误-结尾处应该只有三个
0
s。当您将
as.Date()
转换为日期值时,R中的日期没有小时分钟或秒。他们只是约会。相反,您可以使用
as.POSIXct()
或其他一些支持日期+时间的数据结构。
library("dplyr")
df <- data.frame(dateTime = "2019-02-27T19:08:29+000",
           stringsAsFactors = FALSE)

mutate(df, dateTime = as.POSIXct(dateTime, format = "%Y-%m-%dT%H:%M:%S+000"))