v2.5.2
Giriş yap

İki string zaman aralığı farkını 1 gün 3 saat 5 dk 25 sn gibi göstermek istiyorum

pcmemo
705 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba, sorum başlıkta da belirttiğim gibi strinh kaydedilemiş (veya işlem görürken stringe çevrilmiş) iki tarihin arasındaki farkı farkın uzunluğuna göre 1 gün 3 saat 5 dk 25 sn gibi göstermek istiyorum.

Bir ticket sisteminde yöneticiye ticketin ne kadar süre önce açıldığını kolayca algılaması için bunu yapmak istiyorum.

muhtemelen bir fonksiyonu vardır, elinde olan yada yerini bilen varsa yardımlarınız için şimididen teşekkür ederim.

Cevap yaz
Cevaplar (1)
pcmemo
1606 gün önce

Buldum lazım olan kullanır diye yazıyorum.

<?php
  
// Declare and define two dates
$date1 = strtotime("2016-06-01 22:45:00");
$date2 = strtotime("2018-09-21 10:44:01");
  
// Formulate the Difference between two dates
$diff = abs($date2 - $date1);
  
  
// To get the year divide the resultant date into
// total seconds in a year (365*60*60*24)
$years = floor($diff / (365*60*60*24));
  
  
// To get the month, subtract it with years and
// divide the resultant date into
// total seconds in a month (30*60*60*24)
$months = floor(($diff - $years * 365*60*60*24)
                               / (30*60*60*24));
  
  
// To get the day, subtract it with years and
// months and divide the resultant date into
// total seconds in a days (60*60*24)
$days = floor(($diff - $years * 365*60*60*24 -
             $months*30*60*60*24)/ (60*60*24));
  
  
// To get the hour, subtract it with years,
// months & seconds and divide the resultant
// date into total seconds in a hours (60*60)
$hours = floor(($diff - $years * 365*60*60*24
       - $months*30*60*60*24 - $days*60*60*24)
                                   / (60*60));
  
  
// To get the minutes, subtract it with years,
// months, seconds and hours and divide the
// resultant date into total seconds i.e. 60
$minutes = floor(($diff - $years * 365*60*60*24
         - $months*30*60*60*24 - $days*60*60*24
                          - $hours*60*60)/ 60);
  
  
// To get the minutes, subtract it with years,
// months, seconds, hours and minutes
$seconds = floor(($diff - $years * 365*60*60*24
         - $months*30*60*60*24 - $days*60*60*24
                - $hours*60*60 - $minutes*60));
  
// Print the result
printf("%d years, %d months, %d days, %d hours, "
     . "%d minutes, %d seconds", $years, $months,
             $days, $hours, $minutes, $seconds);
?>

Çıktısı

2 years, 3 months, 21 days, 11 hours, 59 minutes, 1 seconds