我有一个字符串如下
11MAY2018:00:00:00.000
可以将其转换为以下格式
i)2018年5月11日
ii)2018年5月或2018年5月5日
答案 0 :(得分:4)
您可以使用lubridate
包将字符串转换为日期格式,然后使用诸如year
,month
,day
之类的某些函数来提取相关信息并将其合并使用paste0
:
library(lubridate)
x = "11MAY2018:00:00:00.000"
y = dmy_hms(x)
paste0(c(day(y),as.character(month(y, label = T)),year(y)), collapse = "-")
# [1] "11-May-2018"
paste0(c(as.character(month(y, label = T)),year(y)), collapse = "-")
# [1] "May-2018"
paste0(c(month(y),year(y)), collapse = "-")
# [1] "5-2018"
答案 1 :(得分:2)
它也应该工作:
str<-"11MAY2018:00:00:00.000"
dt<-substring(str, c(1), c( 9))
as.Date(dt,format='%d%b%Y')