作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想计算给定日期的周数。
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/
我是一名优秀的程序员,十分优秀!