Kelas DateTimeImmutable
Kelas DateTimeImmutable ialah analog tidak berubah bagi DateTime. Ia mencipta objek baharu pada sebarang pengubahsuaian, menjadikannya lebih boleh diramal dan selamat untuk digunakan.
Masa Semasa
Mari kita cipta objek DateTimeImmutable
dengan tarikh dan masa semasa:
<?php
$date = new DateTimeImmutable();
?>
Tarikh Tertentu
Mari kita cipta objek DateTimeImmutable dengan tarikh yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Tarikh dan Masa Tertentu
Mari kita cipta objek DateTimeImmutable
dengan tarikh dan masa yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Pemformatan Output
Tarikh yang dicipta boleh dipaparkan dalam format yang ditentukan
menggunakan kaedah format. Mari kita lakukan
ini untuk masa semasa:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Keputusan (akan berubah bergantung pada masa pelaksanaan):
'2025-11-15 14:25:00'
Memformat Tarikh Tertentu
Mari kita format tarikh yang ditentukan:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Keputusan pelaksanaan kod:
'31.12.2025'
Menambah Selang
Menambah selang masa kepada tarikh
dilakukan melalui kaedah add:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 hari
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Keputusan pelaksanaan kod:
'2025-05-25'
Menolak Selang
Menolak selang masa dari tarikh
dilakukan melalui kaedah 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');
?>
Keputusan pelaksanaan kod:
'2025-04-13'
Menetapkan Tarikh Baharu
Anda boleh menetapkan tarikh baharu untuk
objek DateTimeImmutable. Ini dilakukan
melalui kaedah setDate:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Keputusan pelaksanaan kod:
'2024-12-31'
Menetapkan Masa
Anda boleh menetapkan masa baharu untuk
objek DateTimeImmutable. Ini dilakukan
melalui kaedah setTime:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Keputusan pelaksanaan kod:
'15:30:00'
Membandingkan Tarikh
Anda boleh membandingkan objek dengan tarikh:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Mencipta Objek dengan Zon Waktu
Apabila mencipta objek DateTimeImmutable
anda boleh menentukan zon 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');
?>
Keputusan pelaksanaan kod:
'2025-12-31 23:59:59 Europe/Moscow'
Lihat Juga
-
kelas
DateInterval,
yang menetapkan selang masa -
kelas
DateTimeZone,
yang menetapkan zon waktu