用strtotime忽略/跳过周末

时间:2011-08-25 11:41:58

标签: php mysql

我在while语句中使用strtotime来自动更新数据库中的条目。

根据用户在上一页中说明的内容,它会增加天数。

使用此代码:

    $calendardate = strtotime ( '+'.$calendarday.' day' , strtotime ( $date ) ) ;
    $calendardate = date ( 'Y-m-d' , $calendardate );

如何让它跳过周末?我需要使用相同的变量($ calendardate)但我需要它来忽略星期六和星期日。

非常感谢任何帮助:)

3 个答案:

答案 0 :(得分:8)

$now = date("Y-m-d H:i:s");
$h = date("H:i:s");    
$two_weekdays_later = strtotime(date("Y-m-d H:i:s", strtotime($now)) . " +2 weekdays $h");

答案 1 :(得分:0)

最后,我决定逐日迭代,测试某事是周六还是周日。否则,很难计算年终等等。(我也有其他要求,比如跳过其他日子而不仅仅是周末,但很可能有一天你会得到相同的要求 - 比如跳过假期等等。) / p>

答案 2 :(得分:0)

使用日期功能如下:

if ((date("w", $calendardate) == 0) || (date("w", $calendardate) == 6))
{ 
  echo "weekend";
}

星期日= 0, 星期六= 6

如果你使用date("N", $calendardate),则数字为1 =“星期一”至7 =“星期日”

http://php.net/manual/en/function.date.php

请注意,$calendardate必须是链接中的规范的unix时间戳。