PHP ile Tarih ve Saat İşlemleri

PHP ile Tarih ve Saat İşlemleri

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.