【问题标题】:Calculate days between date and not counting saturdays and sundays [duplicate]计算日期之间的天数,不计算周六和周日[重复]
【发布时间】:2013-01-18 00:58:50
【问题描述】:

可能重复:
Calculate business days

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

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

如果日期之间的天数差 > 0 且

如果差值 > 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';
}

【问题讨论】:

    标签: php date


    【解决方案1】:

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

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

    可以this help you

    我建议在这些日期之间获取天数,然后 make if 他们之间的日子是星期日或星期六

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多