PHP iki tarih-zaman arasındaki dakika farkı nasıl hesaplanır?
The answers above are for older versions of PHP. Use the DateTime class to do any date calculations now that PHP 5.3 is the norm. Eg.
$start_date = new DateTime('2007-09-01 04:10:58');
$since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00'));
echo $since_start->days.' days total<br>';
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';
$ Since_start a DateInterval amacıdır. (Biz DateInterval nesnesi oluşturmak için DateTime sınıfının fark yöntemi kullanılır çünkü) gün özelliği kullanılabilir olduğunu unutmayın.
Yukarıdaki kod çıktısı:
1837 gün toplam
5 yıl
0 ay
10 günlük Sayfa 6 saat
14 dakika
2 saniye
Dakika toplam sayısını almak için:
$minutes = $since_start->days * 24 * 60;
$minutes += $since_start->h * 60;
$minutes += $since_start->i;
echo $minutes.' minutes';
Bu irade çıktı:
2645654 dakika
Iki tarih arasında geçen dakika gerçek sayı hangisi. DateTime sınıfı dikkate (dilimine bağlı) günışığı tasarruf nereye götüreceğini "eski yol" olmaz. Tarih ve Saat hakkında kılavuzunu okuyun http://www.php.net/manual/en/book.datetime.php
timezone ile başka bir yolu.
$start_date = new DateTime("2013-12-24 06:00:00",new DateTimeZone('Pacific/Nauru'));
$end_date = new DateTime("2013-12-24 06:45:00", new DateTimeZone('Pacific/Nauru'));
$interval = $start_date->diff($end_date);
$hours = $interval->format('%h');
$minutes = $interval->format('%i');
echo 'Diff. in minutes is: '.($hours * 60 + $minutes);
Bu I> 5.2 php "xx kez önce" görüntülenir nasıl burada .. DateTime nesne hakkında daha fazla bilgi olduğunu
//Usage:
$pubDate = $row['rssfeed']['pubDates']; // e.g. this could be like 'Sun, 10 Nov 2013 14:26:00 GMT'
$diff = ago($pubDate); // output: 23 hrs ago
// Return the value of time different in "xx times ago" format
function ago($timestamp)
{
$today = new DateTime(date('y-m-d h:m:s'));
//$thatDay = new DateTime('Sun, 10 Nov 2013 14:26:00 GMT');
$thatDay = new DateTime($timestamp);
$dt = $today->diff($thatDay);
if ($dt->y > 0)
{
$number = $dt->y;
$unit = "year";
}
else if ($dt->m > 0)
{
$number = $dt->m;
$unit = "month";
}
else if ($dt->d > 0)
{
$number = $dt->d;
$unit = "day";
}
else if ($dt->h > 0)
{
$number = $dt->h;
$unit = "hour";
}
else if ($dt->i > 0)
{
$number = $dt->i;
$unit = "minute";
}
else if ($dt->s > 0)
{
$number = $dt->s;
$unit = "second";
}
$unit .= $number > 1 ? "s" : "";
$ret = $number." ".$unit." "."ago";
return $ret;
}