[C#]GregorianCalendar().GetWeekOfYear 取得該日為該年的第幾天關於 FirstDay,FirstFourDayWeek,FirstFullWeek 的結果

2018-08-28

最近,要用到取得某一天是一年的第幾周,然後網路上查一下 其實不難

但是其中有一個參數是CalendarWeekRule 列舉
https://msdn.microsoft.com/zh-tw/library/system.globalization.calendarweekrule(v=vs.110).aspx

看了一下,他的敘述是
Image167

我相信會有點小一頭霧水,所以我特地挑了 2021年的一月做一個一目了然的測試 ,之後也方便我看,就有需要的參考一下,這邊先附上 2021 一月的 日曆
Image166

Code and Result :

Console.WriteLine("2021-01-01"); Console.WriteLine("CalendarWeekRule.FirstDay :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 01), CalendarWeekRule.FirstDay, DayOfWeek.Monday)); Console.WriteLine(("CalendarWeekRule.FirstFourDayWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 01), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday))); Console.WriteLine(("CalendarWeekRule.FirstFullWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 01), CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday))); //Result //2021-01-01 //CalendarWeekRule.FirstDay :1 //CalendarWeekRule.FirstFourDayWeek :53 //CalendarWeekRule.FirstFullWeek :52 Console.WriteLine("2021-01-04"); Console.WriteLine("CalendarWeekRule.FirstDay :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 04), CalendarWeekRule.FirstDay, DayOfWeek.Monday)); Console.WriteLine(("CalendarWeekRule.FirstFourDayWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 04), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday))); Console.WriteLine(("CalendarWeekRule.FirstFullWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 04), CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday))); //Result //2021-01-04 //CalendarWeekRule.FirstDay :2 //CalendarWeekRule.FirstFourDayWeek :1 //CalendarWeekRule.FirstFullWeek :1 Console.WriteLine("2021-01-05"); Console.WriteLine("CalendarWeekRule.FirstDay :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 05), CalendarWeekRule.FirstDay, DayOfWeek.Monday)); Console.WriteLine(("CalendarWeekRule.FirstFourDayWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 05), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday))); Console.WriteLine(("CalendarWeekRule.FirstFullWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 05), CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday))); //Result //2021-01-05 //CalendarWeekRule.FirstDay :2 //CalendarWeekRule.FirstFourDayWeek :1 //CalendarWeekRule.FirstFullWeek :1 Console.WriteLine("2021-01-08"); Console.WriteLine("CalendarWeekRule.FirstDay :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 08), CalendarWeekRule.FirstDay, DayOfWeek.Monday)); Console.WriteLine(("CalendarWeekRule.FirstFourDayWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 08), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday))); Console.WriteLine(("CalendarWeekRule.FirstFullWeek :" + new GregorianCalendar().GetWeekOfYear(new DateTime(2021, 01, 08), CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday))); //Reslut //2021-01-08 //CalendarWeekRule.FirstDay :2 //CalendarWeekRule.FirstFourDayWeek :1 //CalendarWeekRule.FirstFullWeek :1


當麻許的碎念筆記 2014 | Donma Hsu Design.