用strtotime忽略/跳过周末

问题描述 投票:1回答:3

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

它会增加一定的天数,具体取决于用户在上一页中所述的内容。

使用此代码:

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

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

任何帮助是最受欢迎的:)

php mysql
3个回答
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");

0
投票

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


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时间戳。

© www.soinside.com 2019 - 2024. All rights reserved.