使用年份和周数来计算日期可以在某些情况下出现意外行为,这是因为 ISO 8601 中定义了一周从周一开始,年份第一周的最少天数为 4。然而在某些情况下,这些定义可能与特定国家或地区的习惯不符。
为了确保正确的日期解析,请使用以下方法:
以下是一个使用 %U 格式的示例代码:
date_string <- "2021-07-25"
week_number <- "30"
# 使用 %U 格式来计算周数
formatted_date <- paste0(date_string, "-0", week_number)
date <- as.Date(formatted_date, format="%Y-%m-%d-%U")
# 输出结果为 "2021-07-25"
print(date)
在这个示例中,我们使用 %U 格式代替了 %W,以确保计算了正确的日期。