编程语言
首页 > 编程语言> > 使PHP函数来计算特定的日子

使PHP函数来计算特定的日子

作者:互联网

我有一个函数可以计算一年中的多少天,并且可以通过将$week变量从以下位置更改为星期一至星期六工作:

星期一-6:星期六,但是当我输入7:星期日时将不起作用.

任何人都可以帮忙.我缺少任何逻辑吗?

$year = 2016;
$newyear = $year;
$week = 0;
$day = 0;
$mo = 1;
$days = array();
$i = 1;

        while ($week != 7) { // here is where I change the 1-7 for days
          $day++;
          $week = date("w", mktime(0, 0, 0, $mo,$day, $year));
        }

        array_push($days,date("r", mktime(0, 0, 0, $mo,$day, $year)));
        while ($newyear == $year) {
          $x =  strtotime(date("r", mktime(0, 0, 0, $mo,$day, $year)) . "+" . $i . " week");
          $i++;
          if ($year == date("Y",$x)) {
            array_push($days,date("r", $x));
          }
          $newyear = date("Y",$x);
        }

        print count($days);

谢谢您的帮助!并且可以立即算出2年的总天数,例如:

我的日期是2016年1月11日(星期一),我想知道从2016年1月11日到2018年1月11日有多少天.

谢谢!

解决方法:

$date_1 =  strtotime("2016-01-11");
$date_2 = strtotime("2018-01-11");
$datediff = $date_2 - $date_1;
echo floor($datediff/(60*60*24));

已修改:

您可以找到两个日期之间的星期几.只需更改$days [0]的值;

对于星期一:

<?php
$date_1 = $from = strtotime('2016-01-11');
$date_2 = strtotime('2018-01-11');
$days = array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
$count = 0;
while ($date_1 < $date_2) {
  if(date('l', $date_1) == $days[0]);
  {
    $count++;   
  }
  $date_1 += 7 * 24 * 3600;
}
echo "From : ".date('Y-m-d',$from)."  To : ".date('Y-m-d',$date_2)."  has $count  $days[0]";
?>

输出:

From : 2016-01-11 To : 2018-01-11 has 105 Monday

标签:leap-year,php,date
来源: https://codeday.me/bug/20191027/1944826.html