簡體   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