簡體   English   中英

Php從日期開始剩下多少天和幾小時

[英]Php get how many days and hours left from a date

我有一個created_at日期保存喜歡這個“2011-09-23 19:10:18”而且我希望得到日​​期和時間,直到達到日期。 我怎么做? 和數據庫中的列名保持天數每天自動更新並保留天數,請解決此問題

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 />";
?>

注意小時和沒有分鍾/秒的考慮意味着它可能稍微不准確。

這應該是你努力的結果。

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";

從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');

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

最簡單的方法是改進CountZero的答案。 我使用此解決方案作為計數器在要約到期之前剩余的時間。 除了前三行CountZero代碼:

$days = $interval->d;
$hours = $interval->h;
$minutes = $interval->i;
$seconds = $interval->s;

現在,您可以使用字符串函數來調整返回值,合並所有值或在值前面添加“0”或“00”。

它會是這樣的

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 - current_date

這會給你不。 剩下的日子。

也和時間一樣......

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM