开发者

PHP Check Particular Day

I need to change shipping day to next Tuesday if the day is Friday.Here is my code.

$tomorrow = mktime(0,0,0,date("m"),date("d")+$tt+1,date("Y"));
$duedate = date("d - M D", $tomorrow);
$str = substr($duedate, 9, 11);
$fri='Fri';
$sat='Sat';
if(strcmp($str,$fri)==0)
{
 $tomorrow = mktime(0,0,0,date("m"),date("d")+4,date("Y"));
 $duedate = date(开发者_JAVA百科"d - M D", $tomorrow);
}

But i think the if loop is not checking friday correctly.So adding 4 to $tommorrow is also not working.Any pointers?


This should be enough:

if (date('N') == 5) {
    //set duedate to next Tuesday
    $DateTime = new DateTime('now');
    $DateTime->add(new DateInterval('P4D')); //add 4 days
    $dueDate  = $DateTime->format('your format');
}

N gives back an ISO standardized number which is 5 for friday. Date needs no second argument, in that case it takes the current timestamp.

See http://www.php.net/manual/en/book.datetime.php for more information on DateTime.


$tomorrow = mktime(0,0,0,date("m"),date("d")+$tt+1,date("Y"));
$duedate = date("d - M D", $tomorrow);
if (date("N", $tomorrow) == 5) {
    $tomorrow = mktime(0,0,0,date("m"),date("d")+4,date("Y"));
    $duedate = date("d - M D", $tomorrow);
}


Firstly try extracting the day just using the date function, for example:

date('D'); // Mon through Sun

or

date('N'); // 1 (for Monday) through 7 (for Sunday)

Secondly use the strtotime function to add days to a date, for example:

strtotime("+4 day",$date); // Add 4 days to date


$nextTuesday = strtotime('next tuesday');
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜