2011-09-19 22 views
8

離開天數和小時有保存日期很喜歡這個「2011-09-23十九點10分18秒」我想要得到的日期和時間離開 直到到達日期。我怎麼做?我一直在試圖用PHP手冊,但所有我覺得只是類,我不打算用,因爲應用程序的其餘部分被寫入procuderal。腓得到我有多少從一個日期

回答

19

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

注小時輪和無分/秒的考慮意味着它可以稍微不準確。

+0

這一個應該回答問題。謝謝,幫助我以及 – od3n

17

這應該種子你的努力。

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

它會是這樣的

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

您可以使用date()函數找到當前的日期和時間,然後減去

$ X = 2011-09-23 - CURRENT_DATE

這會給你沒有。剩下的日子。

做同樣隨着時間的推移以及..

希望這有助於

+0

它不工作。 –

2

這裏是一個很好的解釋,你可能想看看this

+0

看起來像一個很好的參考。感謝分享。 – od3n

15

爲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

+0

我只是想知道我可以使用哪些參數。答案如下:http://php.net/manual/en/dateinterval.format.php#refsect1-dateinterval.format-parameters –

1

最簡單的方法是改進CountZero的答案。我在報價到期前使用此解決方案進行計數。除了前三行的CountZero代碼:

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

而現在,你可以使用字符串函數來舒緩自己的返回值,合併所有或加「0」或「00」中的值的前面。

相關問題