计算日期之间的天数,而不计算星期六和星期日

时间:2013-01-18 00:58:50

标签: php date

  

可能重复:
  Calculate business days

我有一份显示项目进度表的报告,在该报告中,我有一个信号量,它随着项目计划开始日期和实际开始日期之间的差异而变化,即:

如果计划日期与实际开始日期相同,则信号量为绿色。

如果日期之间的天数差异大于等于0和< 2,然后它的黄色。

如果差异是> 3信号量为红色。

我的代码如下所示:

if( (strtotime($real) - strtotime($planned)) == 0 )
{
    $semaphore = 'green';
}

问题是计划的日期是例如星期五,并且项目真的在下个星期一开始。在这种情况下,信号量应该是黄色的,因为项目比计划开始一天(工作)一天。问题是我正在计算星期六和星期日,信号量显示为红色。

我该如何做出这个例外?

编辑:

我终于做到了这一点:

if((date('l',strtotime($planned)) == 'Friday') AND (strtotime('next monday',strtotime($planned)) == strtotime($real)))
{
    $semaphore = 'yellow';
}

1 个答案:

答案 0 :(得分:0)

假设你有$real = '2007/10/31';

  $weekday = date('l', strtotime($real));  // Wednesday

可以this help you

我建议在这些日期之间获取日期,然后制作if 他们之间的日子是周日或周六