Tag: 高利日历

.NET会在2008年12月29日给出错误的周数吗?

根据官方(格里高利)日历 ,2008年12月29日的周数为1,因为在第52周的最后一天(即28/12)之后,该年剩下三天或更少的天数。 有点奇怪,但没关系,规则是规则。 因此,根据这个日历,我们有2008/2009年的这些边界值 28/12是第52周 29/12是第1周 1/1是第1周 8/1是第2周 C#提供了一个GregorianCalendar类,它具有GetWeekOfYear(date, rule, firstDayOfWeek)函数GetWeekOfYear(date, rule, firstDayOfWeek) 。 参数rule是一个包含3个可能值的枚举: FirstDay, FirstFourWeekDay, FirstFullWeek 。 根据我的理解,我应该FirstFourWeekDay规则,但我尝试了所有这些以防万一。 最后一个参数通知哪个工作日应该被视为一周的第一天,根据该日历,它是星期一,所以它是星期一。 所以我启动了一个快速而肮脏的控制台应用程序来测试这个: using System; using System.Globalization; namespace CalendarTest { class Program { static void Main(string[] args) { var cal = new GregorianCalendar(); var firstWeekDay = DayOfWeek.Monday; var twentyEighth = new DateTime(2008, 12, 28); var twentyNinth […]