2012-02-24 60 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.
相关问题