Kelas DateTimeImmutable
Kelas DateTimeImmutable adalah analog yang tidak dapat diubah dari DateTime. Kelas ini membuat objek baru pada setiap modifikasi, menjadikannya lebih dapat diprediksi dan aman untuk dikerjakan.
Momen Waktu Saat Ini
Mari buat objek DateTimeImmutable
dengan tanggal dan waktu saat ini:
<?php
$date = new DateTimeImmutable();
?>
Tanggal Tertentu
Mari buat objek DateTimeImmutable dengan tanggal yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Tanggal dan Waktu Tertentu
Mari buat objek DateTimeImmutable
dengan tanggal dan waktu yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Pemformatan Output
Tanggal yang dibuat dapat ditampilkan dalam format yang ditentukan
dengan menggunakan metode format. Mari lakukan
ini untuk momen waktu saat ini:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Hasil (akan berubah tergantung pada momen eksekusi):
'2025-11-15 14:25:00'
Memformat Tanggal yang Ditentukan
Mari format tanggal yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Hasil eksekusi kode:
'31.12.2025'
Menambahkan Interval
Penambahan interval ke tanggal
dilakukan melalui metode add:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 hari
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Hasil eksekusi kode:
'2025-05-25'
Pengurangan Interval
Pengurangan interval dari tanggal
dilakukan melalui metode sub:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 bulan dan 2 hari
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Hasil eksekusi kode:
'2025-04-13'
Mengatur Tanggal Baru
Anda dapat mengatur tanggal baru untuk
objek DateTimeImmutable. Ini dilakukan
melalui metode setDate:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Hasil eksekusi kode:
'2024-12-31'
Mengatur Waktu
Anda dapat mengatur waktu baru untuk
objek DateTimeImmutable. Ini dilakukan
melalui metode setTime:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Hasil eksekusi kode:
'15:30:00'
Membandingkan Tanggal
Anda dapat membandingkan objek dengan tanggal:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Membuat Objek dengan Zona Waktu
Saat membuat objek DateTimeImmutable
Anda dapat menentukan zona waktu:
<?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');
?>
Hasil eksekusi kode:
'2025-12-31 23:59:59 Europe/Moscow'
Lihat Juga
-
kelas
DateInterval,
yang menentukan interval waktu -
kelas
DateTimeZone,
yang menentukan zona waktu