[英]PHP datediff february issues
我正在使用代码来查找自新年(1月1日)以来已经过了多少天。 我使用以下代码:
$newyear = new DateTime("2017-01-01"); // January 1, 2017.
$today = new DateTime(); // March 6, 2017.
$difference = $newyear->diff($today);
现在,如果我使用此代码,它将显示正确的天数,
echo $difference->format("%a days"); // 64 days
但是当我使用其他格式时,会出错。
echo $difference->format("%m months %d days"); // 2months 2 days.
我认为这是由于PHP计算的2月为31天,因此从技术上讲,它是31 + 31 + 2天。 我希望根据February年的情况,将2月定为28或29天。 我猜php.ini中一定与此有关。 什么以及在哪里进行更改或有任何破解?
要用PHP错误地报告两个日期之间的差异来调试此问题,我们首先必须检查一些事情。
我看到几个人的结果参差不齐,要进行调试,请尝试找出您所使用的timezonedb版本
<?php
echo timezone_version_get();
?>
http://php.net/manual/en/function.timezone-version-get.php
PECL timezonedb网站可以在https://pecl.php.net/package/timezonedb中找到
检查以确保您拥有最新版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.