Kelas DateTime
Kelas DateTime merupakan alat utama untuk bekerja dengan tarikh dan masa dalam gaya OOP. Ia membolehkan penciptaan objek tarikh/masa, mengubahsuainya dan memformat output.
Masa Semasa
Mari kita cipta objek DateTime
dengan tarikh dan masa semasa:
<?php
$date = new DateTime();
?>
Tarikh Tertentu
Mari kita cipta objek DateTime dengan tarikh yang ditentukan:
<?php
$date = new DateTime('2025-12-31');
?>
Tarikh dan Masa Tertentu
Mari kita cipta objek DateTime
dengan tarikh dan masa yang ditentukan:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Pemformatan Output
Tarikh yang dicipta boleh dipaparkan dalam format yang ditentukan
menggunakan kaedah format. Mari lakukan
ini untuk masa semasa:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Hasil (akan berubah bergantung pada masa pelaksanaan):
'2025-11-15 14:25:00'
Pemformatan Tarikh Tertentu
Mari format tarikh yang ditentukan:
<?php
$date = new DateTime('2025-12-31');
echo $date->format('d.m.Y');
?>
Hasil pelaksanaan kod:
'31.12.2025'
Penambahan Selang
Penambahan selang kepada tarikh
dilakukan melalui kaedah add:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // 10 hari
$date->add($interval);
echo $date->format('Y-m-d');
?>
Hasil pelaksanaan kod:
'2025-05-25'
Penolakan Selang
Penolakan selang dari tarikh
dilakukan melalui kaedah sub:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 bulan dan 2 hari
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Hasil pelaksanaan kod:
'2025-04-13'
Menetapkan Tarikh Baru
Anda boleh menetapkan tarikh baru untuk
objek DateTime. Ini dilakukan
melalui kaedah setDate:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Hasil pelaksanaan kod:
'2025-12-31'
Menetapkan Masa
Anda boleh menetapkan masa baru untuk
objek DateTime. Ini dilakukan
melalui kaedah setTime:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Hasil pelaksanaan kod:
'15:30:00'
Perbandingan Tarikh
Anda boleh membandingkan objek dengan tarikh:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Perbezaan Antara Tarikh
Dengan kaedah diff anda boleh mengira
perbezaan antara tarikh. Perbezaan
dikembalikan dalam bentuk objek
DateInterval:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Hasil pelaksanaan kod:
'1 months 14 days'
Zon Waktu
Semasa mencipta objek DateTime
anda boleh menentukan zon waktu:
<?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');
?>
Hasil pelaksanaan kod:
'2025-12-31 23:59:59 Europe/Moscow'
Lihat Juga
-
kelas
DateTimeImmutable,
yang mencipta tarikh yang tidak boleh diubah -
kelas
DateInterval,
yang menentukan selang waktu -
kelas
DateTimeZone,
yang menentukan zon waktu