PHP’de tarih ve saat işlemleri, kullanıcıya dinamik içerik sunmak, günlük işlemleri zamanlamak ve veritabanı kayıtlarını yönetmek için yaygın olarak kullanılır. Bu yazıda sizlere, PHP ile tarih ve saat işlemlerini ayrıntılı bir şekilde ele alacağım.
1. Mevcut Tarih ve Saati Almak
PHP’nin date()
fonksiyonu ile mevcut tarih ve saati alabilirsiniz. Aşağıdaki kod, yıl, ay, gün, saat, dakika ve saniyeyi içeren bir tarih formatı döndürür:
echo date("Y-m-d H:i:s");
Çıktı: 2025-03-06 12:45:30
Alternatif olarak, daha okunaklı bir format kullanabilirsiniz:
echo date("d/m/Y H:i"); // 06/03/2025 12:45
2. Belirli Bir Tarihi Formatlama
date()
fonksiyonunu kullanarak farklı formatlarda tarih alabilirsiniz:
echo date("l, d F Y");
Çıktı: Perşembe, 06 Mart 2025
Önemli formatlar:
Y
– 4 basamaklı yıl (2025
)y
– 2 basamaklı yıl (25
)m
– Ay (03
)d
– Gün (06
)l
– Gün adı (Perşembe
)F
– Ay adı (Mart
)
3. Zaman Damgası (Timestamp) Kullanımı
UNIX zaman damgası, 1 Ocak 1970’ten itibaren geçen saniyeyi gösterir. time()
fonksiyonu ile mevcut zaman damgasını alabilirsiniz:
echo time();
Örnek Çıktı: 1740637530
Belirli bir tarihin zaman damgasını almak için strtotime()
fonksiyonunu kullanabilirsiniz:
echo strtotime("2025-04-15");
Çıktı: 1744675200
Bu zaman damgasını insan tarafından okunabilir bir formata çevirmek için:
echo date("Y-m-d H:i:s", 1744675200);
Çıktı: 2025-04-15 00:00:00
4. Tarih Karşılaştırma ve Fark Hesaplama
İki tarih arasındaki farkı hesaplamak için DateTime
sınıfını kullanabilirsiniz:
$date1 = new DateTime("2025-03-01");
$date2 = new DateTime("2025-03-06");
$diff = $date1->diff($date2);
echo "Fark: " . $diff->days . " gün";
Çıktı: Fark: 5 gün
Ayrıca, strtotime()
fonksiyonuyla iki tarih arasındaki farkı saniye cinsinden alabilirsiniz:
$fark = strtotime("2025-03-06") - strtotime("2025-03-01");
echo $fark / 86400 . " gün";
Çıktı: 5 gün
5. Zaman Dilimi Ayarlama
Farklı ülkeler için PHP’nin varsayılan zaman dilimini değiştirmek için date_default_timezone_set()
kullanabilirsiniz:
date_default_timezone_set("Europe/Istanbul");
echo date("Y-m-d H:i:s");
Tüm zaman dilimlerini görmek için:
print_r(timezone_identifiers_list());
6. Geçmiş veya Gelecek Tarih Hesaplama
Belli bir tarihe gün, hafta veya ay eklemek için:
$nextMonth = date("Y-m-d", strtotime("+1 month"));
echo $nextMonth;
Ayrıca DateTime
sınıfını kullanarak da tarih ekleyebilirsiniz:
$date = new DateTime("2025-03-06");
$date->modify("+2 weeks");
echo $date->format("Y-m-d");
Çıktı: 2025-03-20
Yorum gönder