计算日期之间的天数,不计算周六和周日[重复]
Posted
技术标签:
【中文标题】计算日期之间的天数,不计算周六和周日[重复]【英文标题】: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';
【问题讨论】:
【参考方案1】:假设你有$real = '2007/10/31';
$weekday = date('l', strtotime($real)); // Wednesday
可以this help you
我建议在这些日期之间获取天数,然后 make if 他们之间的日子是星期日或星期六
【讨论】:
以上是关于计算日期之间的天数,不计算周六和周日[重复]的主要内容,如果未能解决你的问题,请参考以下文章