以叙述形式将日期范围转换为.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]

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

解决方法

这样的作品会吗?

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]])

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

,

我们可以使用anydate

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