将字符串转换为R中的日期格式

时间:2018-08-21 11:42:16

标签: r

我有一个字符串如下

11MAY2018:00:00:00.000

可以将其转换为以下格式

i)2018年5月11日

ii)2018年5月或2018年5月5日

2 个答案:

答案 0 :(得分:4)

您可以使用lubridate包将字符串转换为日期格式,然后使用诸如yearmonthday之类的某些函数来提取相关信息并将其合并使用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')

https://www.stat.berkeley.edu/~s133/dates.html