以叙述形式将日期范围转换为.xts日期

时间:2020-10-12 13:54:23

标签: r xts

我有一个字符串“ 2020年4月20日-2020年4月24日”,并希望将其转换为两个单独的字符串。这里有两个问题:(1)认为叙述“四月”是第四个月,(2)此字符串中有两个不同的日期。

我查看了以下内容以及其他内容,但没有看到我的答案:

[extract dates from date range][1],
[select a range of dates][2],
[convert dates to range][3]

我也研究了“解析”,但这似乎不是答案。

2 个答案:

答案 0 :(得分:1)

这样的作品会吗?

string <- "April 20, 2020 - April 24, 2020"
dates <- as.Date(strsplit(string, ' - ')[[1]], '%B %d, %Y')
dates
#[1] "2020-04-20" "2020-04-24"

或者如果您不想记住格式,请使用lubridate::mdy

dates <- lubridate::mdy(strsplit(string, ' - ')[[1]])

请注意,这取决于语言环境,您的语言环境应为英语。

答案 1 :(得分:0)

我们可以使用anydate

library(anytime)
anydate(strsplit(string, "\\s*-\\s*")[[1]])
#[1] "2020-04-20" "2020-04-24"