2017-01-10 10 views
0

で2つの日付の差を取得する方法を、私は、これは完璧な作業と左の正確な日数、私に与えているY-m-dタイミング

$dateOld = new DateTime("2017-01-10"); 
$dateNew = new DateTime("2017-01-11"); 

echo $diff = $dateNew->diff($dateOld)->format("%a"); 

形式にある2つの日付を持っています。

しかし、今、私はtimeを追加しているし、それは私がしても違いを取得したい23:3817:21同様H-M形式

であり、2つのdateTime

$dateOld = new DateTime("2017-01-10 23:38"); 
$dateNew = new DateTime("2017-01-11 17:21"); 

echo $diff = $dateNew->diff($dateOld)->format("%a"); 

間の差を取得するために今理解することはできません浮動小数点の場合の値。時間と連結した日付で作業するようになりましたか?

+0

可能な複製(http://stackoverflow.com/questions/676824/how-to-calculate-the- [PHPを使用して、2つの日付の差を計算する方法?] phpを使用して2つの日付の違い) – vascowhite

答えて

1

使用この:

<?php 
$dateOld = new DateTime("2017-01-10 23:38"); 
$dateNew = new DateTime("2017-01-11 17:21"); 

$diff = $dateNew->diff($dateOld); 
$days = $diff->d; 
$hours = $diff->h; 
$minutes = $diff->i; 

$total_difference = $days + ($hours * 60 + $minutes)/1440; 

echo $total_difference; 

あるいは、DateIntervalなし:使用

$dateOld = new DateTime("2017-01-10 23:38"); 
$dateNew = new DateTime("2017-01-12 17:21"); 

$difference_in_seconds = $dateNew->getTimestamp() - $dateOld->getTimestamp(); 

$total_difference_in_days = $difference_in_seconds/86400; 

echo $total_difference_in_days; 

- >フォーマット( "%aは")あなたを与えるだろう日丸みを帯びました。

http://php.net/manual/en/datetime.diff.phpを参照してください。

0
$dateNew = '2017-01-11 17:21'; 
$dateOld = '2017-01-10 23:38'; 


$dateNew = new DateTime($dateNew); 
$dateOld = new DateTime($dateOld); 

$diff = $dateNew->diff($dateOld); 

echo $diff->format("%H:%I"); 

出典:のhttp://php.net/manual/en/datetime.diff.php