在PHP中更改一周的第一天

时间:2011-09-20 04:55:32

标签: php datetime

在我的网站上,我正在使用时间表,因此我必须将本周的开头更改为用户想要的任何一天。默认情况下,本周的开始时间是基于时区的星期日或星期一,但我可能需要将星期的开始时间视为星期三。那么在PHP中有没有办法做到这一点??

时间表解释

我需要根据他们登录的时间来计算人们的工资。现在我必须每周对这笔工资进行分组。当我说每周一周并不总是星期六到星期六它可能是星期三到星期二或星期四到星期三。因此,不同公司的周开始时间会有所不同。

例如,假设用户在星期一(19/09/2011)登录了5小时,同一个用户在星期三(2011年9月14日)登录了10小时。我的周从星期四开始,然后我在2个日期范围之间得到2周,他们是8/09/2011到14/09/2011和15/09/2011到21/09/2011。

实际上我没有代码,因为我无法想出建立的逻辑。我有它在Java但我不知道如何在没有inbuild函数的PHP中这样做。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我得到的答案不是PHP特定的,而是建议你应该如何做。

您所需要的与您必须跟踪会计年度的月份没有什么不同 - 会计年度可以在任何日历月开始。这样做的方法是将日期存储为偏移量,即作为日期数字。

以OO方式思考它,您可能有一个表示实际日历日(星期一到星期日)的数据对象,并且可以保存实际日期,因此它代表实际的实际日期。然后,您可以扩展此类(从中继承),并创建一个表示虚拟(或财务)日的类,并添加一个整数属性,该属性在虚拟/会计周内保持其偏移量。 / p>

因此,您的新财务日对象仍然代表绝对日期(例如2011年10月21日星期三),但它的偏移量可能为零,表示它是财政周的第一天。这很容易进一步扩展,以便财政日对象也可以知道它在财政周和财政月等中的位置。

我希望这对你有意义。