两个日期不同,结果是年和日而不是php中的月份

问题描述 投票:0回答:1

我想要以年和日而不是月为单位的两个日期结果之间的差异

我尝试过如下


$date1 = new DateTime("2023-01-01");
$date2 = new DateTime("2024-04-10");

$difference = date_diff($date1, $date2);

$years = $difference->y;
$months = $difference->m;
$days = $difference->d;

echo "$years Years";
echo "<br />";
echo "$months month";
echo "<br />";
echo "$days days";

得到的结果为

1 年 3个月 9天

我需要的结果是

1 年 101天

任何人都可以帮忙吗?

我尝试了很多方法,但没有一个有效

php date
1个回答
0
投票

我终于做到了。我通过下面的代码得到了预期的结果

$date1 = new DateTime("2023-01-01");
$date2 = new DateTime("2024-04-10");

$difference = date_diff($date1, $date2);

$years = $difference->y;

// Calculate total days without including the years
$date1_copy = clone $date1;
$date1_copy->modify("+$years years");
$daysDifference = ($date1_copy->diff($date2)->days)+1;

echo "$years Years";
echo "<br />";
echo "$daysDifference Days";
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.