PHP Zaman Komutları
PHP'de zaman yönetimi date(), time(), strtotime() ve DateTime gibi fonksiyonlarla gerçekleştirilir. Bu makalede, bu fonksiyonların pratik kullanım örneklerini ve farklı senaryolardaki yerlerini ele alacağız.
1. date() Fonksiyonu
PHP'nin date() fonksiyonu, geçerli tarih ve saat bilgisini istenilen biçimde döndürmek için kullanılır. Format stringleri ile yıl, ay, gün, saat, dakika, saniye gibi bileşenler kolaylıkla özelleştirilebilir.
echo date('Y-m-d'); // 2025-06-08 (Yıl-Ay-Gün)
echo date('d.m.Y H:i:s'); // 08.06.2025 15:12:45 (Gün.Ay.Yıl Saat:Dakika:Saniye)
2. time() Fonksiyonu
time() fonksiyonu, Unix zaman damgasını (timestamp) döner. Bu değer, 1 Ocak 1970'ten itibaren geçen saniyeyi temsil eder. Veritabanına zaman kaydı yapmak veya zaman karşılaştırmaları için sıkça kullanılır.
echo time(); // Örnek çıktı: 1717857160
3. strtotime() Fonksiyonu
Metinsel tarih ifadelerini Unix zaman damgasına dönüştürür. Doğal dil ifadeleriyle çalışabilir: "+1 day", "last week", "next Monday" gibi.
echo date('Y-m-d', strtotime('tomorrow'));
echo date('Y-m-d', strtotime('+1 week'));
echo date('Y-m-d', strtotime('last Sunday'));
4. mktime() Fonksiyonu
Belirli saat, gün, ay ve yıl bilgisi girilerek özel bir tarih oluşturmak için kullanılır. Zaman kontrolü ve özel tarih üretimleri için kullanışlıdır.
$tarih = mktime(0, 0, 0, 12, 31, 2025);
echo date('Y-m-d', $tarih); // 2025-12-31
5. getdate() Fonksiyonu
Geçerli tarih/saatin tüm parçalarını detaylı olarak dizi şeklinde döner. Bu dizi içerisinde yıl, ay, gün, saat, dakika gibi bilgiler ayrı ayrı yer alır.
print_r(getdate());
6. date_default_timezone_set()
PHP'de varsayılan saat dilimini ayarlamak için kullanılır. Saat farklılıklarını önlemek ve doğru saat verisi göstermek için önemlidir.
date_default_timezone_set('Europe/Istanbul');
echo date('H:i:s'); // Türkiye saati
7. Gelecek ve Geçmiş Tarih Hesaplama
strtotime() ile zaman üzerinde ileri/geri oynamalar yapılabilir. Böylece dinamik tarihler hesaplanabilir.
echo date('Y-m-d', strtotime('+5 days')); // Şimdiki tarihten 5 gün sonrası
echo date('Y-m-d', strtotime('-2 months')); // Şimdiki tarihten 2 ay öncesi
8. DateTime ile Tarih Karşılaştırması
DateTime sınıfı, iki tarih arasında fark bulmak için ideal bir yapıdır. Aradaki gün, ay, yıl gibi farkları hesaplamanı sağlar.
$t1 = new DateTime('2025-06-01');
$t2 = new DateTime('2025-06-08');
$diff = $t1->diff($t2);
echo $diff->days . ' gün fark var.'; // 7 gün
9. Unix Timestamp Formatlama
Elindeki bir timestamp değerini, date() fonksiyonuyla okunabilir bir biçime çevirebilirsin.
$timestamp = 1717856100;
echo date('d.m.Y H:i', $timestamp);
10. Türkçe Gün İsmi Yazdırma
PHP'nin date('w') fonksiyonu 0–6 arası bir sayı döner (Pazar 0). Bu değeri bir diziyle eşleştirerek Türkçe gün ismini elde edebilirsin.
$gunler = ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'];
echo $gunler[date('w')];