2012-02-24 57 views
1

我已經設計了一個打卡時鐘系統。我需要對其進行修改,以符合加州加時賽的規定,如果有人在24小時內工作超過8小時,他們會收到加班費。我很難理解如何做這不是計算密集型的。如何確定工作時間的編程邏輯,考慮加班時間。

我們的拳四捨五入到15個分鐘的間隔,這意味着人們將在上午8:00,上午8:15,8:30 AM等衝英寸

+0

您目前以何種格式存儲數據? – 2012-02-24 19:46:51

+1

您確定它是滾動計算的嗎?快速Google建議加州的加班規則與當天工作8小時有關,在午夜重置。 – 2012-02-24 20:42:50

回答

2

因此,如果有人開始於上午八時至週一,一共有8個小時的工作,並在早上7點開始在週二,他們得到加班一個小時?

假設你有一個給定的員工開始/停止日期時間對的列表。該列表必須包括前一時間段的開始/停止日期時間對。

  1. 從當前支付期間獲取第一個開始/停止日期時間對。
  2. 獲取上一個開始/停止日期時間對。
  3. 確定以小時和以前開始和當前的起始之間小時餾分的間隔。
  4. 如果間隔大於或等於24,則獲取下一個當前支付期開始/停止日期時間對,然後轉到2.如果沒有更多開始/停止日期時間對,請退出。
  5. 否則,如果時間間隔小於24,計算在當前的起動/停止的日期時間對超時。 (24間隔)的出租人和當前開始/停止日期時間對中工作的小時數。
  6. 獲取下一個當前支付期的開始/停止日期時間對。如果沒有更多的開始/停止日期時間對,請退出。
  7. 保持先前的開始/停止日期時間對。
  8. 轉至3.
相關問題