簡體   English   中英

如何獲得最后一次計數,或一天中的最后一次

[英]How to get the last count, or the last time in a day

我在查找下面的一天中的最后時間(最大的時間)時遇到問題,我怎樣才能得到那個時間? 我不得不將這次與他的班次進行比較,但是當我這樣做時,我總是第一次閱讀。

這是我的代碼:

 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 與第一次出發時間 i 進行比較。 1899-12-30 09:52:00.000 在這種情況下。

如果有人能幫助我解決這個問題,我將不勝感激,最近幾天我真的不知道如何處理這個問題。

這是我的整個方法:

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

如果您只想使用DateTimeTimeSpan ,您可以像這樣獲得它:

從 DateTime 開始,您可以使用 .TimeOfDay - 但這為您提供了一個 TimeSpan,代表一天中的時間(10 小時)。

當然,您需要將 TimeSpan 與彼此進行比較:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM