gpt4 book ai didi

c# - 为什么这个日期不在下一年的那一周? (C# 日历)

转载 作者:太空狗 更新时间:2023-10-30 01:24:31 25 4
gpt4 key购买 nike

我想计算给定日期的周数。

DateTime date = Convert.ToDateTime("31.12.2001");

DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
System.Globalization.Calendar cal = dfi.Calendar;

int weekOfYear = cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek,
dfi.FirstDayOfWeek);

在我的 DateTimeFormatInfo 中,一周的第一天是星期一。我想使用四天规则,这意味着一周属于一年中大部分时间所在的一年。2001 年 12 月 31 日是星期一,然后应该在 2002 年的第 1 周。但是,weekOfYear 返回为 53。

有人知道哪里出了问题吗?

最佳答案

参见 the documentation for CalendarWeekRule为确切的规则。简而言之,12 月 31 日永远不会是第一周,它永远是 52/53 之类的。枚举值会影响一月的第一天是哪一周。

关于c# - 为什么这个日期不在下一年的那一周? (C# 日历),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9080434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com