簡體   English   中英

如果是周末,則更改日期PHP

[英]Alter date if it's a weekend date PHP

我有一個用戶定義的日期,我要增加一個星期。 我正在嘗試檢查用戶的日期,看看是否是星期五,星期六,星期日或星期一。 如果是的話,那么我想循環播放直到日期是那幾天以外的日子(下面的偽代碼)。 我擁有的代碼實際上似乎不起作用。

$date = 10/10/2012;

while (date = friday, saturday, sunday, monday) {
       $date = $date - 1;
}

這是我的代碼:

$postpone = date('Y-m-d', strtotime('+1 Week'));
$checkDate = date('w', strtotime($postpone));

while ($checkDate == 0 || $checkDate == 6  || $checkDate == 5 || $checkDate == 1) {
    $postpone = date_sub($postpone,date_interval_create_from_date_string("1 day"));
    $postpone = date("Y-m-d", $postpone);
    $checkDate = date('w', strtotime($postpone));
}

下面的代碼使用面向對象的PHP方法來完成此任務。 請注意,它將日期增加1天,您可以根據想要達到目標工作日的方式來增加或減少任何間隔。

// Make sure to set timezone when using PHP DateTime
date_default_timezone_set('UTC');

// Create a new date set to today's date
$date = new DateTime;

// Add 1 week to the date
$date->add(new DateInterval('P1W'));

// Get a numeric representation of weekday for date (0-6 0=Sunday)
$weekday = $date->format('w');

// Loop while weekday is Fri, Sat, Sun, Mon
while ($weekday > 4 || $weekday < 2) {
    // Add one day to date and get the weekday
    $weekday = $date->add(new DateInterval('P1D'))->format('w');
}

echo $date->format('Y-m-d: w');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM