如何将日期时间中的时间从DDMMYYY:HH:MM:SS剥离为DDMMYYYY

时间:2018-07-27 15:46:49

标签: r date datetime

我有一个数据框,其中有一列用日期时间填充。

str(df$date)
char [1:2000] "01JAN2015:12:20:00" "19JUN2015:15:30:00" "19OCT2013:05:26:00"

我想删除时间,只是将列与DDMMYYY一起保留,例如

01JAN2015 19JUN2015 19OCT2013

我尝试过df$date <- as.POSIXct(df$date),输出为

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

df$date <- as.Date(df$date),输出为

Error in charToDate(x) :
  character string is not in a standard unambiguous format

我不知道我在做什么错。我将不胜感激。

谢谢

2 个答案:

答案 0 :(得分:1)

使用PS1="$ "

lubridate

会给您:

[1]“ 2015-01-01”“ 2015-06-19”“ 2013-10-19”

希望它对您有帮助

答案 1 :(得分:0)

这将完成

library(lubridate)
dates <- c("01JAN2015:12:20:00", "19JUN2015:15:30:00", "19OCT2013:05:26:00")
dates <- sub(":.*$", "", dates) %>% dmy(.) %>% gsub("-", "", .)
paste0(substr(dates, 7, 8), substr(dates, 5, 6), substr(dates, 1, 4))
# [1] "01012015" "19062015" "19102013"