Php获取一个日期还剩多少天和小时
我在保存日期创建了一个_,如“2011-09-23 19:10:18”,我想得到剩下的天数和时间Php获取一个日期还剩多少天和小时,php,date,laravel-5.7,Php,Date,Laravel 5.7,我在保存日期创建了一个_,如“2011-09-23 19:10:18”,我想得到剩下的天数和时间 直到到达日期为止。我该怎么做?数据库中的列名“剩余天数”会随剩余天数自动每日更新,请解决此问题。这应该是您努力的方向 getdate(strtotime("2011-09-23 19:10:18")) 完全转换: $seconds = strtotime("2011-09-23 19:10:18") - time(); $days = floor($seconds / 86400); $seco
直到到达日期为止。我该怎么做?数据库中的列名“剩余天数”会随剩余天数自动每日更新,请解决此问题。这应该是您努力的方向
getdate(strtotime("2011-09-23 19:10:18"))
完全转换:
$seconds = strtotime("2011-09-23 19:10:18") - time();
$days = floor($seconds / 86400);
$seconds %= 86400;
$hours = floor($seconds / 3600);
$seconds %= 3600;
$minutes = floor($seconds / 60);
$seconds %= 60;
echo "$days days and $hours hours and $minutes minutes and $seconds seconds";
大概是
echo $date = date("Y-m-d H:i:s");echo "\n";
$original=time($date);
$modified = "2011-09-23 19:10:18";
echo date("Y-m-d H:i:s",$modified);echo "\n";
可以使用date()函数查找当前日期和时间,然后进行减法运算 $x=2011-09-23-当前日期 这将给你剩下的天数 时间也是如此 希望这对PHP片段有所帮助:
<?php
//Convert to date
$datestr="2011-09-23 19:10:18";//Your date
$date=strtotime($datestr);//Converted to a PHP date (a second count)
//Calculate difference
$diff=$date-time();//time returns current time in seconds
$days=floor($diff/(60*60*24));//seconds/minute*minutes/hour*hours/day)
$hours=round(($diff-$days*60*60*24)/(60*60));
//Report
echo "$days days $hours hours remain<br />";
?>
从PHP 5.3.0开始,您可以使用内置日期对象:
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
最简单的方法是从CountZero改进答案。在报价到期前的剩余时间内,我将此解决方案用作计数器。除了CountZero代码的前三行之外:
$days = $interval->d;
$hours = $interval->h;
$minutes = $interval->i;
$seconds = $interval->s;
现在,您可以使用字符串函数调整返回值,合并所有值,或在值前面添加“0”或“00”。这应该可以回答问题。谢谢,也帮了我。还有没有可能剩下几分钟呢???@SenTisso是的。将$hours
切换为使用楼层而不是四舍五入,将$hours
从$diff
中减去$hours
(与$days
类似,以查找$hours
),将所得金额除以60并四舍五入(以获得分钟)/*…*/$secondsPerHour=60*60$第二天=60*60*24$天数=下限($diff/$secondsPerDay)$差异-=$days*$secondsPerDay$小时数=楼层($diff/$secondsPerHour)$差异-=$hours*$secondsPerHour$分钟=一轮($diff/60);我只是想知道我能用什么参数。答案如下: