[英]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.