gün, ay, dakika önce fonksiyonu
Bu fonksiyon özellikle haberler ve mesajlaşma sisteminde kullanılıyor ve çok faydalı bir fonksiyon, bende kendi yazılımlarımda kullanmaktayım.
<?php function sureonce($time_stamp) { $time_difference = strtotime('now') - $time_stamp; if ($time_difference >= 60 * 60 * 24 * 365.242199) { return get_time_ago_string($time_stamp, 60 * 60 * 24 * 365.242199, 'yıl'); } elseif ($time_difference >= 60 * 60 * 24 * 30.4368499) { return get_time_ago_string($time_stamp, 60 * 60 * 24 * 30.4368499, 'ay'); } elseif ($time_difference >= 60 * 60 * 24 * 7) { return get_time_ago_string($time_stamp, 60 * 60 * 24 * 7, 'hafta'); } elseif ($time_difference >= 60 * 60 * 24) { return get_time_ago_string($time_stamp, 60 * 60 * 24, 'gün'); } elseif ($time_difference >= 60 * 60) { return get_time_ago_string($time_stamp, 60 * 60, 'saat'); } else { return get_time_ago_string($time_stamp, 60, 'dakika'); } } function get_time_ago_string($time_stamp, $divisor, $time_unit) { $time_difference = strtotime("now") - $time_stamp; $time_units = floor($time_difference / $divisor); settype($time_units, 'string'); if ($time_units === '0') { return '1 ' . $time_unit . 'dan daha az'; } elseif ($time_units === '1') { return '1 ' . $time_unit . ' önce'; } else { return $time_units . ' ' . $time_unit . ' önce'; } } ?>
Bu şekilde fonksiyonunuzu ekledikten sonra tarih olarak yayınlamanız yeterli olacaktır, yani;
$smstarihi='2014-11-01 22:20'; echo sureonce(strtotime($smstarih));
şu anki tarih aynı ve saat 22:30 olduğunu varsayarsak ’10 dakika önce’ yazısı görünecektir.