【发布时间】:2021-08-30 12:54:23
【问题描述】:
当我将 Windows 的区域格式设置为 英语(瑞典)(同样适用于例如 捷克语 格式)时,一年中的最后一周是 52 岁和新年从第 1 周开始。默认情况下,每周的开始时间是星期一。
当我将 Windows 的区域格式设置为 英语(欧洲)(同样适用于例如 罗马尼亚语 格式)时,一年中的最后一周是 53 岁和新年从第 2 周开始。默认情况下,星期的开始是星期日,但我已将其切换为星期一(尽管在这种情况下更改对周数的计算没有影响)。
我预计周数将取决于每个国家/地区使用什么作为一周的开始,但这似乎只是随机的?瑞典和捷克使用星期一作为一周的开始,它们的计算方法是一样的。但是罗马尼亚(以及欧洲大部分地区)也使用星期一作为一周的开始,那么为什么周数不同?
我了解公历和 ISO8601 的方式有所不同,但根据this 的问题,如果 Windows 仅使用公历,为什么计算会改变?
此外,除了更改整个区域之外,我还需要更改哪些设置来影响这一点?
【问题讨论】:
-
我不知道你如何检查你是否得到了正确的周数。但有些日历使用不同的周编号方案。这意味着当一年有 53 周时,周数可以偏移一个,具体取决于他们如何定义。
-
Week number不是唯一的。这个数字取决于第 1 周,以防一年从一周的中间开始(大多数情况下)。第一个部分周算作下一年的第 1 周还是前一年的第 53 周?在 ISO 8601 第 1 周中是the week with the first Thursday of the Gregorian year。这意味着January 1可以在上一年的第 53 周结束 -
不同的国家可能使用不同的“官方”周编号方案,就像它们使用不同的格式一样。或者可能没有任何官方的周数方案,在这种情况下,Windows 使用默认方案。
-
@PanagiotisKanavos 我想你误解了我的第一条评论。当我写“我不知道你怎么样”时,我的意思是“你=问题的作者”。我不知道他如何得到他的“正确”周数。来自纸质日历?从windows配置了他自己的区域?管他呢。在我建议的答案中,我告诉他没有跨地区的正确周数这样的事情