Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中获得两天之间的差异_Php_Date_Datetime_Datediff - Fatal编程技术网

如何在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
及其方法。