如何在php中获得两天之间的差异
我有一个函数,它传递一些参数如何在php中获得两天之间的差异,php,date,datetime,datediff,Php,Date,Datetime,Datediff,我有一个函数,它传递一些参数 everyWeekOn("Mon",11,19,00) 我想计算当前日期之间的差值(例如“Fri”) 并通过参数日,即Mon 输出应为: The difference between Mon and Fri is 3 我是这样试的 $_dt = new DateTime(); error_log('$_dt date'. $_dt->format('d')); error_log('$_dt year'. $_dt->format('Y'));
everyWeekOn("Mon",11,19,00)
我想计算当前日期之间的差值(例如“Fri”)
并通过参数日,即Mon
输出应为:
The difference between Mon and Fri is 3
我是这样试的
$_dt = new DateTime();
error_log('$_dt date'. $_dt->format('d'));
error_log('$_dt year'. $_dt->format('Y'));
error_log('$_dt month'. $_dt->format('m'));
但是我知道我不知道下一步该怎么做才能得到这两天的差异
请注意,此问题与其他问题不同,因为我只有一天,而没有完整的日期。使用此代码可以找到两天内的天数
<?php
$today = time();
$chkdate = strtotime("16-04-2015");
$date = $today - $chkdate;
echo floor($date/(60*60*24));
?>
请使用此选项,以帮助您$date=new DateTime('2015-01-01 12:00:00');
$date = new DateTime('2015-01-01 12:00:00');
$difference = $date->diff(new DateTime());
echo $difference->days.' days <br>';
$difference=$date->diff(new DateTime());
echo$difference->days.“days
”;
只需结合->diff
方法实现DateTime
类:
function everyWeekOn($day) {
$today = new DateTime;
$next = DateTime::createFromFormat('D', $day);
$diff = $next->diff($today);
return "The difference between {$next->format('l')} and {$today->format('l')} is {$diff->days}";
}
echo everyWeekOn('Mon');
@马丁:我的问题不同,请先检查是的,谢谢你的澄清,我看错了。thax@ghost你救了我的命;)真棒的兄弟thaxhelp@Sanji当然很高兴这有帮助Hey ghost你能解释一下$next->format('l')是什么吗pls@Sanji日期('l'),也是一样的(小l),它使用相同的格式。注意:并非所有的日子都是86400(60*60*24)秒长!如果服务器未使用UTC作为时区,则可能会产生意外结果!改用
DateTime
及其方法。