DateTime Sınıfı
DateTime sınıfı, nesne yönelimli stilde tarih ve zaman işlemleri için temel araçtır. Tarih/zaman nesneleri oluşturmanıza, bunları değiştirmenize ve biçimlendirilmiş çıktı almanıza olanak tanır.
Mevcut zaman anı
Mevcut tarih ve zaman ile bir DateTime nesnesi oluşturalım:
<?php
$date = new DateTime();
?>
Belirli bir tarih
Belirtilen tarihle bir DateTime nesnesi oluşturalım:
<?php
$date = new DateTime('2025-12-31');
?>
Belirli bir tarih
Belirtilen tarih ve zaman ile bir DateTime nesnesi oluşturalım:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Çıktıyı biçimlendirme
Oluşturulan tarih, format yöntemi kullanılarak belirtilen biçimde çıktılanabilir. Bunu mevcut zaman anı için yapalım:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Sonuç (çalıştırma anına bağlı olarak değişecektir):
'2025-11-15 14:25:00'
Belirtilen tarihin biçimlendirilmesi
Belirtilen tarihi biçimlendirelim:
<?php
$date = new DateTime('2025-12-31');
echo $date->format('d.m.Y');
?>
Kodun çalıştırma sonucu:
'31.12.2025'
Aralık ekleme
Tarihe aralık eklenmesi add yöntemi ile gerçekleştirilir:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // 10 gün
$date->add($interval);
echo $date->format('Y-m-d');
?>
Kodun çalıştırma sonucu:
'2025-05-25'
Aralık çıkarma
Tarihten aralık çıkarılması sub yöntemi ile gerçekleştirilir:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 ay ve 2 gün
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Kodun çalıştırma sonucu:
'2025-04-13'
Yeni tarih ayarlama
DateTime nesnesi için yeni bir tarih ayarlanabilir. Bu, setDate yöntemi ile yapılır:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Kodun çalıştırma sonucu:
'2025-12-31'
Zaman ayarlama
DateTime nesnesi için yeni bir zaman ayarlanabilir. Bu, setTime yöntemi ile yapılır:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Kodun çalıştırma sonucu:
'15:30:00'
Tarihleri karşılaştırma
Tarih nesneleri karşılaştırılabilir:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Tarihler arasındaki fark
diff yöntemi kullanılarak tarihler arasındaki fark hesaplanabilir. Fark, bir DateInterval nesnesi olarak döndürülür:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%m ay %d gün');
?>
Kodun çalıştırma sonucu:
'1 ay 14 gün'
Saat dilimi
DateTime nesnesi oluşturulurken saat dilimi belirtilebilir:
<?php
$timeZone = new DateTimeZone('Europe/Moscow');
$date = new DateTime('2025-12-31 23:59:59', $timeZone);
echo $date->format('Y-m-d H:i:s e');
?>
Kodun çalıştırma sonucu:
'2025-12-31 23:59:59 Europe/Moscow'
Ayrıca bakınız
-
değiştirilemez tarih oluşturan
DateTimeImmutablesınıfı -
zaman aralığı belirleyen
DateIntervalsınıfı -
saat dilimini belirleyen
DateTimeZonesınıfı