CalcWeekDay(DateTimeのうち最初のDateTime、アウトint型の年、int型の週、最後の)ブール値のpublic static { ;最初の= DateTime.MinValue 最後= DateTime.MinValue; //年份超限 (年<1700 ||年> 9999)の戻り場合はfalse; //周数错误 (週<1 ||週間> 53)の戻り場合はfalse; //指定年范围 のDateTime開始=新しい日時(年、1、1); 日時エンド=新しい日時(年、12、31); INT startWeekDay =(INT)start.DayOfWeek-1。 //周的起始日期 最初= start.AddDays((7 - startWeekDay)+(週- 2)* 7)。 最後= first.AddDays(6)。 IF(。last.Year - ==年1) { Convert.ToDateTimeに最終=(年+ "-12-31"); } //終了日大晦日の リターン(最終<=エンド); }
コール:
BOOL結果= CalcWeekDay(2020、53、アウトまず、最終)。
日付範囲に対応する日付を返します。
パブリック静的ブール値CalcWeekDay {最初= DateTime.MinValue(int型の年、int型の週、DateTimeのうち最初に、DateTimeの最後のアウト)。最後= DateTime.MinValue; //年份超限(年<1700 ||年> 9999)の戻り場合はfalse; //周数错误(週<1 ||週間> 53)の戻り場合はfalse; //指定年范围のDateTime開始=新しい日時(年、1、1); 日時エンド=新しい日時(年、12、31); INT startWeekDay =(INT)start.DayOfWeek-1。//周的起始日期最初= start.AddDays((7 - startWeekDay)+(週- 2)* 7)。最後= first.AddDays(6)。
IF(last.Year -年== 1){最後= Convert.ToDateTime(年間+ "-12-31")。} //结束日期跨年リターン(最後の<=エンド);