PHP ile Zaman Farkı Hesaplamak
Daha önce php’de iki tarihi karşılaştırmayı anlatmıştım /phpde-tarih-karsilastirma, ancak iki tarih arasındaki ay, gün, yıl farkını kullanmanız gerektiğinde, php’nin tarih-zaman sınıfını kullanarak iki tarih arasındaki zaman farkını istediğiniz periyodda hesaplatabilirsiniz.
Bu yönetmle hesaplayacağınız tarih farkının iki genel kullanımı vardır. Birincisi hesaplamalarınızda iki tarih arasındaki geçen zamana göre yaptığınız bir kuralınız vardır. Mesela bir blog yazınızın 1 aydan önce yazıldığını denetlemek ve buna göre “Bilgiler geçerliliğini yitirmiş olabilir” gibi bir not göstermek istiyorsunuz. Bunun için şu an ile yazının yazılma tarihi arasında 1 ay olup olmadığını sorgulayabilirsiniz.
Bu hesaplama aslında basit bir matematiksel bir hesap gibi görünse de aslında ay uzunluğu, artık yıl hesabı gibi nedenlerden dolayı ve her zaman 1 ay = 30 gün olmaması nedeniyle biraz daha karışık olabiliyor. Dolayısıyla anlattığım yöntem gibi hazır yöntemleri kullanarak bu hesaplamaları doğru şekilde yapabilirsiniz.
Şimdi basit bir kod ile örnekleyeceğim.
$now = new DateTime();
$created = new DateTime($_entry['created_at']);
$diff = date_diff($now, $created);
$days = $diff->format('%d');
$hours = $diff->format('%h');
$mins = $diff->format('%i');
$diffStr = NULL;
if ($days > 0) {
$diffStr .= $days . ' gün';
}
if ($hours > 0) {
$diffStr .= ' ' . $hours . ' saat';
}
if ($mins > 0) {
$diffStr .= ' ' . $mins . ' dakika';
}
print $diffStr;
Yukarıdaki kodda $diffStr değişkeni, yazınızın kaç dakika, saat, gün önce eklendiğini gösterecektir. Eğer isterseniz ayı, yılı da ekleyerek herhangi bir tarih formatını “3 gün 8 saat 3 dakika önce” şeklinde bir metine çevirebilirsiniz.
İlgili Yazılar
- 4 min readPHP ile grafiksel sayaç uygulaması
- 1 min readWeb Tabanlı ve Açık Kaynak Kodlu Tilpark Muhasebe Yazılımı
- 2 min readCSS ::before ve ::after Sözde Elemanları
- 7 min readGoogle Chart API Kullanarak Dinamik Grafikler Oluşturma Rehberi
- 3 min readJavaScript ile Daha Şık Uyarı Kutuları (Fancy Alert)
- 3 min readPHP SDK ile Facebook API hareketlerini izleme ve optimize etme yöntemleri
Paylaş