两个日期之间的天数在PHP中不起作用

我需要计算两个日期之间的日期(格式YYYYMMDD)

我使用了两个测试日期2020-01-20和2020-02-20

$enddate = "20200220";
$startdate = "20200120";
$s = new DateTime($enddate);
$e = new DateTime($startdate);
$diff = $s->diff($e);
echo "days: ".$diff->d;

结果是0,而不是一个月的天数

  

天:0

我知道日期作为字符串可能不明确,因此我也尝试通过以下方式指定格式:

$enddate = "20200220";
$startdate = "20200120";
$s = DateTime::createFromFormat('Ymd',$startdate);
$e = DateTime::createFromFormat('Ymd',$enddate);
$diff = $s->diff($e);
echo "days: ".$diff->d; 

仍然为0

  

天:0

henshui22 回答:两个日期之间的天数在PHP中不起作用

您可以使用strtotime

<?php

// strtotime converts any string date format to unix time

$date1 = "2020-01-20";
$date2 = "2020-02-20";

$seconds_in_a_day = 86400;


$diff = (strtotime($date2) - strtotime($date1))/$seconds_in_a_day;

echo $diff; // output 31
本文链接:https://www.f2er.com/3131792.html

大家都在问