記録方法は、最初の数週間内のレコードによると、開始日は週に落ちます

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")。} //结束日期跨年リターン(最後の<=エンド);        

おすすめ

転載: www.cnblogs.com/liteon-kevinkong/p/12501931.html