diff --git a/Src/Dlhis.Canteen/Order/TimePeriodExtensions.cs b/Src/Dlhis.Canteen/Order/TimePeriodExtensions.cs index b1912390..b400f354 100644 --- a/Src/Dlhis.Canteen/Order/TimePeriodExtensions.cs +++ b/Src/Dlhis.Canteen/Order/TimePeriodExtensions.cs @@ -10,6 +10,8 @@ public static class TimePeriodExtensions { public static bool IsPresent1(this TimePeriod period, DateTime dateTime) { + return period.IsPresent2(dateTime); + int hour = dateTime.Hour; int minute = dateTime.Minute; IReadOnlyList hourPeriod = GetHourPeriod(); @@ -57,4 +59,29 @@ public static class TimePeriodExtensions return list; } } + + public static bool IsPresent2(this TimePeriod period, DateTime dateTime) + { + var start = DateTime.Now; + var end = DateTime.Now; + + if (period.IsCrossDay()) + { + //第二天 + if (dateTime.Hour >= 0) + { + start = DateTime.Today.AddDays(-1).Add(period.Start.Value.ToTimeSpan()); + end = DateTime.Today.Add(period.End.Value.ToTimeSpan()); + } + } + else + { + start = DateTime.Today.Add(period.Start.Value.ToTimeSpan()); + end = DateTime.Today.Add(period.End.Value.ToTimeSpan()); + } + + + + return dateTime >= start && dateTime <= end; + } }