Php从日期开始剩下多少天和几小时

Joh*_*123 10 php date laravel-5.7

我有一个created_at日期保存喜欢这个"2011-09-23 19:10:18"而且我希望得到日​​期和时间,直到达到日期.我怎么做?和数据库中的列名保持天数每天自动更新并保留天数,请解决此问题

Rud*_*udu 26

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 />";
?>
Run Code Online (Sandbox Code Playgroud)

注意小时和没有分钟/秒的考虑意味着它可能稍微不准确.


Kor*_*nto 20

这应该是你努力的结果.

getdate(strtotime("2011-09-23 19:10:18"))
Run Code Online (Sandbox Code Playgroud)

完全转换:

$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";
Run Code Online (Sandbox Code Playgroud)


Cou*_*ero 16

从PHP 5.3.0开始,您可以使用内置Date对象:

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/book.datetime.php