获取错误的Year,Month和Day参数描述了无法表示的DateTime异常

时间:2019-06-04 08:48:25

标签: c#

我写了自动换档代码。夜班,晨班等。一切正常。当前的问题是新月。 5个月有31天。这个月有30天。 我当前的代码是这样:

        DateTime lastTime = _lastDateOfLoading;
                DateTime tempTime = Convert.ToDateTime(hourOfLoading);
                DateTime targetTime = new DateTime(DateOfLoading.Year, DateOfLoading.Month, DateOfLoading.Day, tempTime.Hour, tempTime.Minute, tempTime.Second);
                DateTime currentTime = DateTime.Now;

                bool tt1 = false;
                bool tt2 = false;
                bool lt1 = false;
                bool lt2 = false;

                DateTime lt1Min = new DateTime(currentTime.Year, currentTime.Month, lastTime.Day, 22, 00, 00);
                DateTime lt1Max = new DateTime(currentTime.Year, currentTime.Month, lastTime.Day, 23, 59, 59, 999);
                DateTime lt2Min = new DateTime(currentTime.Year, currentTime.Month, lastTime.Day, 00, 00, 00);
                DateTime lt2Max = new DateTime(currentTime.Year, currentTime.Month, lastTime.Day, 06, 00, 00);
                DateTime tt1Min = new DateTime(currentTime.Year, currentTime.Month, targetTime.Day, 22, 00, 00);
                DateTime tt1Max = new DateTime(currentTime.Year, currentTime.Month, targetTime.Day, 23, 59, 59, 999);
                DateTime tt2Min = new DateTime(currentTime.Year, currentTime.Month, targetTime.Day, 00, 00, 00);
                DateTime tt2Max = new DateTime(currentTime.Year, currentTime.Month, targetTime.Day, 06, 00, 00);

    if ((lastTime >= lt1Min
                       && (lastTime < lt1Max)))
                {
                    lt1 = true;
    }
etc ..

它以lt1Min = new DateTime结尾... 我认为这是因为6月。 lastTime是22.5。 有什么建议如何解决这个问题?在stackoverlow上的当前线程上没有任何帮助。 谢谢。

0 个答案:

没有答案