fix 时间区间判断
This commit is contained in:
@@ -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<int> 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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user