如何获取最后一次计数,或一天中的最后一次计数



我在下面找到一天中的最后一次(最大的时间(图片时遇到问题,我怎样才能得到那个时间? 我不得不将这次与他的轮班进行比较,但是当我这样做时,我总是第一次阅读。

这是我的代码:

foreach (var shift in shifts)
{  
if (von.ZPZ_Von <= shift.Arbeitsbeginn.AddMinutes(-20) &&
bis.ZPZ_Bis >= shift.Arbetsende.AddMinutes(-10))
return null;
else if (von.ZPZ_Von >= shift.Arbeitsbeginn.AddMinutes(20) &&
bis.ZPZ_Bis >= shift.Arbetsende.AddMinutes(10))
return null;
else if (von.ZPZ_Von <= shift.Arbeitsbeginn.AddMinutes(5)
&& bis.ZPZ_Bis <= shift.Arbetsende.AddMinutes(10)
)
return shift;
}

这是一种查找工作人员班次的方法,如果在正确的班次中工作人员返回班次,如果工作人员来 20 分钟或工作超过 10 分钟,则返回 null。

这看起来像一天的数据:

所以我需要将ZPZ_Bis与上一次进行比较,或者更确切地说,是时间。 目前,我的方法总是ZPZ_Bis与第一次出发时间进行比较,在这种情况下为 1899-12-30 09:52:00.000。

如果有人可以帮助我解决这个问题,我将不胜感激,在过去的几天里,我真的不知道如何处理这个问题。

这是我的整个方法:

private A_Arbeitszeitplan DetectShift(List<A_Arbeitszeitplan> shifts, PRAESENZZEIT von, PRAESENZZEIT bis, List<PRAESENZZEIT>arrivals)

如果您只想使用DateTimeTimeSpan,则可以这样获取它:

在日期时间中,您可以使用 .时间一天 - 但这给了你一个 时间跨度表示一天中的时间(10 小时(。

当然,您需要将时间跨度相互比较:

if (von.ZPZ_Von.TimeOfDay <= shift.Arbeitsbeginn.AddMinutes(-20).TimeOfDay &&
bis.ZPZ_Bis.TimeOfDay >= shift.Arbetsende.AddMinutes(-10).TimeOfDay)
return null;

最新更新