繁体   English   中英

将字符日期格式转换为 R 日期

[英]Convert Character Date format to R Date

我有像“Feb-20”这样的字符格式的数据。 我需要将其转换为 '2020-02-29' R 日期格式。 代码应该是通用的,可以转换任何月份并返回月份的最后一天。

repmonth  <- 'Feb-20'

我们可以使用strptime

   strptime('Feb-20',format="%b-%d", tz="UTC")

[1] "2020-02-20 UTC"

或者像@Neem Kamal 建议的那样使用lubridate

lubridate::ymd(paste0("2020-","Feb-20"))

编辑

要返回该月的最后一天:

lubridate::ceiling_date(strptime('Feb-20',format="%b-%d", tz="UTC"),"month") -1
[1] "2020-02-29 23:59:59 UTC"

也适用于三月:

lubridate::ceiling_date(strptime('Mar-20',format="%b-%d", tz="UTC"),"month") -1
[1] "2020-03-31 23:59:59 UTC"

缺点:它也返回时间。

29是固定的吗? 您可以使用润滑 package:

lubridate::myd(paste0('Feb-20','-29'))

这里是 go,

library(lubridate)
repmonth  <- 'Feb-20'
rollback(ymd(paste0("2020-",repmonth) ) + month(1), roll_to_first = F)

以上将给出您正在寻找的内容。 每月的最后一天,无论是否是闰年。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM