gpt4 book ai didi

php date->diff() 返回无意义的金额

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:18 25 4
gpt4 key购买 nike

这是我的代码:

$logdate = Input::get('logdate');
$enddate = Input::get('enddate');
//Cast the dates to yyyy-dd-mm format for comparison
$startdt = date('Y-d-m',strtotime($logdate));
$enddt = date('Y-d-m',strtotime($enddate));
//Cast the dates into datetime objects
$date1 = new DateTime($startdt);
$date2 = new DateTime($enddt);
//Calculate the difference between the 2 datetime objects
$diff = $date1->diff($date2, true);
//cast logdate into correct format for entry in the database
$newlogdate = strtotime($logdate);
$formatlogdate = date('Y-d-m',$newlogdate);

我用它来获取间隔中的天数:

 Log::info(intval($diff->days));

每当我编写的代码在同一个月内涉及 12 天或更少的差异时,这里的代码都可以正常工作,但一旦超过 12 天,或者一旦我尝试计算 2 个月之间的差异,它就会失控并给我结果 16000+

例如,根据此代码,2015 年 4 月 26 日和 2015 年 5 月 2 日之间的天数差异为 16557 天,我不知道他们是如何得出这个数字的,但大约是 45 年,结果是总是 16000 + 无论我选择哪个日期,因为它们在 12 天的单月半径之外

最佳答案

当你在做 - date('Y-d-m',strtotime($logdate)); 它返回 - 1970-01-01 两个日期./ 正在制造问题。试试这个-

$log = '26/04/2015';
$end = '02/05/2015';

$date1 = new DateTime(str_replace('/', '-', $log));
$date2 = new DateTime(str_replace('/', '-', $end));
$diff = $date1->diff($date2, true);
echo $diff->days;

输出

6

关于php date->diff() 返回无意义的金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com