【问题标题】:Changing the first day of the week in PHP在 PHP 中更改一周的第一天
【发布时间】:2011-09-20 04:55:31
【问题描述】:

在我的网站中,我正在使用时间表,因此我必须将一周的开始时间更改为用户想要的任何一天。默认情况下,根据时区,一周的开始时间是星期日或星期一,但我可能需要将一周的开始时间设置为星期三。那么有没有办法在 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 中没有 set week start 内置函数

标签: php datetime


【解决方案1】:

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

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

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

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

我希望这对你有意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多