在R中提取时间

时间:2018-03-08 08:59:38

标签: r datetime

我有以下格式的字符字段

DF

sd
10/12/2017 6:12
10/12/2017 6:14

我想将其转换为日期格式,以便我可以从中提取时间。

现在阅读this,我不想使用正则表达式,因为我希望保持它更通用,因为格式可能会改变。所以我想将它转换为日期格式并使用lubridate来提取必填字段。

所以我使用了以下内容:

d1 <- strptime(df$sd[1], "%m/%d/%Y%H:%M")

它给了我以下结果

d1
[1] "2017-10-12 IST"

虽然我期待包括小时和分钟。

还试图使用

format(dmy_hms(df$sd), "%H:%M:%S")

我明白了“所有格式都无法解析。找不到格式”

对此有何建议?

1 个答案:

答案 0 :(得分:2)

以下是lubridate解决方案:

library(lubridate)

df <- data.frame(sd=c('10/12/2017 6:12','10/12/2017 6:14'),stringsAsFactors = F)

dmy_hm(df$sd)

#[1] "2017-12-10 06:12:00 UTC" "2017-12-10 06:14:00 UTC"