Klasse DateTimeImmutable
Die klas DateTimeImmutable is die onveranderbare eweknie van DateTime. Dit skep 'n nuwe objek by enige wysiging, wat dit meer voorspelbaar en veilig maak om mee te werk.
Huidige oomblik in tyd
Kom ons skep 'n DateTimeImmutable-objek
met die huidige datum en tyd:
<?php
$date = new DateTimeImmutable();
?>
Spesifieke datum
Kom ons skep 'n DateTimeImmutable-objek met 'n gespesifiseerde datum:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Spesifieke datum en tyd
Kom ons skep 'n DateTimeImmutable-objek
met 'n gespesifiseerde datum en tyd:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Formatering van uitset
Die geskepte datum kan in 'n gegewe formaat uitgevoer word
deur die format-metode te gebruik. Kom ons doen
dit vir die huidige oomblik:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Resultaat (sal verander afhangende van die uitvoertyd):
'2025-11-15 14:25:00'
Formatering van 'n gegewe datum
Kom ons formateer 'n gegewe datum:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Resultaat van kode-uitvoering:
'31.12.2025'
Byvoeging van 'n interval
Die byvoeging van 'n interval by 'n datum
geskied deur die add-metode:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 dae
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Resultaat van kode-uitvoering:
'2025-05-25'
Aftrekking van 'n interval
Die aftrekking van 'n interval vanaf 'n datum
geskied deur die sub-metode:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 maand en 2 dae
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Resultaat van kode-uitvoering:
'2025-04-13'
Stel nuwe datum
'n Nuwe datum kan vir die
DateTimeImmutable-objek gestel word. Dit word gedoen
met die setDate-metode:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Resultaat van kode-uitvoering:
'2024-12-31'
Stel tyd
'n Nuwe tyd kan vir die
DateTimeImmutable-objek gestel word. Dit word gedoen
met die setTime-metode:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Resultaat van kode-uitvoering:
'15:30:00'
Vergelyking van datums
Datums kan vergelyk word:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Skep objek met tydsone
By die skep van 'n DateTimeImmutable-objek
kan die tydsone gespesifiseer word:
<?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');
?>
Resultaat van kode-uitvoering:
'2025-12-31 23:59:59 Europe/Moscow'
Sien ook
-
klas
DateInterval,
wat 'n tydinterval definieer -
klas
DateTimeZone,
wat 'n tydsone definieer