as.Date() 如何将完整写入的日期转换为 ISO 8601?
How can as.Date() convert fully written dates into ISO 8601?
我目前有一个日期向量,格式如下:
a <- c("Wednesday 26th May 2021","Thursday 27th May 2021")
我已尝试使用以下方法将其纳入 ISO 8601:
as.Date(a, "%I %d%S %F %Y")
但我不是 100% 确定日期的语法。
如有任何想法,我们将不胜感激!
您可以删除日期后缀并使用 as.Date
-
#Added an extra date that does not have th as prefix.
a <- c("Wednesday 26th May 2021","Thursday 27th May 2021",
'Tuesday 1st June 2021', 'Monday 31st May 2021')
as.Date(sub('(?<=\d)(th|rd|st|nd)', '', a, perl = TRUE), '%A %d %b %Y')
#[1] "2021-05-26" "2021-05-27" "2021-06-01" "2021-05-31"
阅读 ?strptime
了解不同的格式规范。
如果您对包开放 lubridate::dmy
直接工作。
lubridate::dmy(a)
#[1] "2021-05-26" "2021-05-27" "2021-06-01" "2021-05-31"
我目前有一个日期向量,格式如下:
a <- c("Wednesday 26th May 2021","Thursday 27th May 2021")
我已尝试使用以下方法将其纳入 ISO 8601:
as.Date(a, "%I %d%S %F %Y")
但我不是 100% 确定日期的语法。
如有任何想法,我们将不胜感激!
您可以删除日期后缀并使用 as.Date
-
#Added an extra date that does not have th as prefix.
a <- c("Wednesday 26th May 2021","Thursday 27th May 2021",
'Tuesday 1st June 2021', 'Monday 31st May 2021')
as.Date(sub('(?<=\d)(th|rd|st|nd)', '', a, perl = TRUE), '%A %d %b %Y')
#[1] "2021-05-26" "2021-05-27" "2021-06-01" "2021-05-31"
阅读 ?strptime
了解不同的格式规范。
如果您对包开放 lubridate::dmy
直接工作。
lubridate::dmy(a)
#[1] "2021-05-26" "2021-05-27" "2021-06-01" "2021-05-31"