DateTimeImmutable Sınıfı
DateTimeImmutable sınıfı, DateTime'in değişmez muadilidir. Herhangi bir değişiklikte yeni bir nesne oluşturur, bu da onu çalışmak için daha tahmin edilebilir ve güvenli hale getirir.
Mevcut zaman
Şimdi mevcut tarih ve zamanla bir DateTimeImmutable nesnesi oluşturalım:
<?php
$date = new DateTimeImmutable();
?>
Belirli bir tarih
Belirtilen bir tarihle bir DateTimeImmutable nesnesi oluşturalım:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Belirli bir tarih ve zaman
Belirtilen tarih ve zamanla bir DateTimeImmutable nesnesi oluşturalım:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Çıktıyı biçimlendirme
Oluşturulan tarih, format yöntemi kullanılarak belirli bir biçimde çıktılanabilir. Bunu mevcut zaman için yapalım:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Sonuç (çalıştırıldığı ana bağlı olarak değişecektir):
'2025-11-15 14:25:00'
Belirli bir tarihi biçimlendirme
Belirli bir tarihi biçimlendirelim:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Kodun çalıştırılmasının sonucu:
'31.12.2025'
Aralık ekleme
Bir tarihe aralık eklenmesi add yöntemiyle yapılır:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 gün
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Kodun çalıştırılmasının sonucu:
'2025-05-25'
Aralık çıkarma
Bir tarihten aralık çıkarılması sub yöntemiyle yapılır:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 ay ve 2 gün
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Kodun çalıştırılmasının sonucu:
'2025-04-13'
Yeni tarih ayarlama
Bir DateTimeImmutable nesnesi için yeni bir tarih ayarlanabilir. Bu, setDate yöntemiyle yapılır:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Kodun çalıştırılmasının sonucu:
'2024-12-31'
Zaman ayarlama
Bir DateTimeImmutable nesnesi için yeni bir zaman ayarlanabilir. Bu, setTime yöntemiyle yapılır:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Kodun çalıştırılmasının sonucu:
'15:30:00'
Tarihleri karşılaştırma
Tarih nesneleri karşılaştırılabilir:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Saat dilimiyle nesne oluşturma
Bir DateTimeImmutable nesnesi oluştururken saat dilimi belirtilebilir:
<?php
$timeZone = new DateTimeZone('Europe/Moscow');
$date = new DateTimeImmutable('2025-12-31 23:59:59', $timeZone);
echo $date->format('Y-m-d H:i:s e');
?>
Kodun çalıştırılmasının sonucu:
'2025-12-31 23:59:59 Europe/Moscow'
Ayrıca bakınız
-
zaman aralığını belirleyen
DateIntervalsınıfı -
saat dilimini belirleyen
DateTimeZonesınıfı