////// 主要驗證是否有五個星期五五個星期六五個星期天 /// 下一次發生的年月 /// /// static void Main(string[] args) { // 現在時間 DateTime dtNow = DateTime.Now; //現在時間小於最大值 while (dtNow < DateTime.MaxValue) { //該月必須是31天 當前月添加一 DateTime nextMonth = dtNow.AddMonths(1); //下一年月的月的第一天就是一號 DateTime firstDayOfNextMonth = new DateTime(nextMonth.Year, nextMonth.Month, 1); //判斷當前月是否為31天和這個月的1號必須是星期五 if (DateTime.DaysInMonth(nextMonth.Year, nextMonth.Month) == 31 && firstDayOfNextMonth.DayOfWeek == DayOfWeek.Friday) { Console.WriteLine("下一次發生是在:{0}", firstDayOfNextMonth); break; } dtNow = nextMonth; } Console.ReadLine(); } ////// 上一次發生的年月 /// /// //static void Main(string[] args) //{ // 現在時間 ////DateTime dtNow = DateTime.Now; //現在時間小於最大值 ////while (DateTime.MinValue <= dtNow) ////{ //////該月必須是31天 當前月減一 //// DateTime nextMonth = dtNow.AddMonths(-1); //////下一年月的月的第一天就是一號 //// DateTime firstDayOfNextMonth = new DateTime(nextMonth.Year, nextMonth.Month, 1); //////判斷當前月是否為31天和這個月的1號必須是星期五 //// if (DateTime.DaysInMonth(nextMonth.Year, nextMonth.Month) == 31 && firstDayOfNextMonth.DayOfWeek == DayOfWeek.Friday) //// { //// Console.WriteLine("上一次發生是在:{0}", firstDayOfNextMonth); //// break; //// } //// dtNow = nextMonth; ////} ////Console.ReadLine(); //}