You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据日期获取周数所属的正确年份?

解决R语言中日期转周年份错误的问题

当使用strftime()的%Y-%V格式时,%Y取的是日期的日历年份,而非该周对应的实际年份,这就导致跨年周的年份显示错误——比如2024-12-30实际属于2025年第1周,但会返回2024-01。

正确的做法是用%G替代%Y,%G专门表示周所属的年份,配合%V(ISO标准周数)就能得到正确结果:

strftime(as.Date("2024-12-30"), "%G-%V")
[1] "2025-01"

额外注意事项:

  • 确保输入为Date类型,若传入的是字符串,需先用as.Date()转换后再处理
  • ISO周遵循的规则是:每周以周一为起始日,一年的第1周是包含当年第一个周四的那周,%G和%V均遵循此标准

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:42:04