繁体   English   中英

在PHP中更改一周的第一天

[英]Changing the first day of the week in PHP

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

时间表说明

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

假设某个用户在星期一(2011年9月19日)登录了5个小时,而同一用户在星期三(2011年9月14日)登录了10个小时。 我的星期从星期四开始,然后我现在在这两个日期范围之间有2个星期,它们是8/09/2011至14/09/2011和15/09/2011至21/09/2011。

其实我没有代码,因为我无法提出建立逻辑。 我在Java中有它,但是我不知道如何在没有内置函数的情况下在PHP中做到这一点。 有什么建议么 ?

我为您提供的答案不是特定于PHP的,而是有关您应该如何做的建议。

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

以OO方式进行思考,您可能有一个数据对象,它代表实际的日历日(星期一至星期日),并且可以保存实际的日期,因此它代表实际的物理日。 然后,您扩展该类(从其继承),并创建一个代表您的虚拟(或财政 )日的类,并添加一个整数属性,该属性将其偏移量保留在您的虚拟/财政周内。

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

我希望这对您有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM