Php 随着时间的推移计算一天的外观
我想计算两个日期之间每天出现的次数 例如: 我想计算一下从2013年9月5日到今天(2014年3月19日)“周六”出现的时间。正确答案是28 你知道我怎么做吗 提前谢谢 试试这个:Php 随着时间的推移计算一天的外观,php,Php,我想计算两个日期之间每天出现的次数 例如: 我想计算一下从2013年9月5日到今天(2014年3月19日)“周六”出现的时间。正确答案是28 你知道我怎么做吗 提前谢谢 试试这个: $old_date = "2014-01-22"; $new_date = "2014-02-20"; $diff = strtotime($new_date) - strtotime($old_date); echo floor($diff/(60*60*24)); 我确信有更好、更有效的方法。将其命名为Ge
$old_date = "2014-01-22";
$new_date = "2014-02-20";
$diff = strtotime($new_date) - strtotime($old_date);
echo floor($diff/(60*60*24));
我确信有更好、更有效的方法。将其命名为
GetDayCount(strotime('2014-10-01')、strotime('2014-12-06')、“星期六”)
未经测试
function GetDayCount ($firstdate, $lastdate, $daytype) {
$ret = 0;
$date = $firstdate;
while (strtotime($date) <= strtotime($lastdate)) {
if (date('l', $date)=$daytype) {$ret++;}
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
return $ret;
}
函数GetDayCount($firstdate、$lastdate、$daytype){
$ret=0;
$date=$firstdate;
while(strotime($date)Week-day参数应该是数字(1=星期一…7=星期日)。边界日期不包括在计数中,例如,将
=
放在三元运算符中
function weekDayBetweenDates ($dateStart, $dateEnd, $day) {
$tsStart = strtotime($dateStart);
$tsEnd = strtotime($dateEnd);
$diff = floor(strtotime("last monday",$tsEnd) - strtotime("sunday",$tsStart)/(60*60*24*7));
$diff += date('N', $tsStart)<$day?1:0;
$diff += date('N', $tsEnd)>$day?1:0;
return $diff;
}
函数weekDayBetweenDates($dateStart、$dateEnd、$day){
$tsStart=strottime($dateStart);
$tsEnd=strottime($dateEnd);
$diff=楼层(strotime(“上周一”)、$tsEnd)-strotime(“周日”、$tsStart)/(60*60*24*7));
$diff+=日期('N',$tsStart)$day?1:0;
返回$diff;
}
我认为,如果两天之间的天数小于7(如4),有些人永远无法确定这些日期之间是否有星期一,这是一个纯数学函数。