单日期格式的不同时间戳因子

时间:2018-01-07 09:43:21

标签: r date datetime

我在data.frame中有两个不同的日期,格式如下:“dd-mm-yyyy HH:MM:SS”和“dd / m / yyyy hh:mm”,我试图转换这个使用strptime

使用相同的格式
strptime(x = as.character(data.frame$timestamp),format = "%d/%m/%Y %H:%M:%S") 

但只有“dd / m / yyyy hh:mm”正在转换而其他时间戳会产生NA

1 个答案:

答案 0 :(得分:3)

我不确定你的最终目标。但是您可以使用lubridate包来转换包含混合格式的日期的向量。

library(lubridate)
test<-data.frame(timestamp = c("12/7/2008 11:21", "12/7/2008 21:08",
"23-09-2008 09:13:16","14-07-2008 21:57:28"))
dates_df <- parse_date_time(test$timestamp, c("dmy HMS", "dmy HM"))
#>dates_df
#[1] "2008-07-12 11:21:00 UTC" "2008-07-12 21:08:00 UTC"
"2008-09-23 09:13:16 UTC" "2008-07-14 21:57:28 UTC"

日期转换并在dates_df中可用,可以根据选择进行转换或使用。