Klass DateTimeImmutable
Klass DateTimeImmutable on muutumatu analoog klassile DateTime. See loob uue objekti igal muutmisel, mis muudab selle etteaimatavamaks ja turvalisemaks töötamiseks.
Praegune ajahetk
Loome objekti DateTimeImmutable
praeguse kuupäeva ja ajaga:
<?php
$date = new DateTimeImmutable();
?>
Konkreetne kuupäev
Loome objekti DateTimeImmutable määratud kuupäevaga:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Konkreetne kuupäev ja kellaaeg
Loome objekti DateTimeImmutable
määratud kuupäeva ja ajaga:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Väljundi vormindamine
Loodud kuupäeva saab väljastada määratud vormingus
meetodi format abil. Teeme seda
praeguse ajahetke jaoks:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Tulemus (muutub sõltuvalt täitmise hetkest):
'2025-11-15 14:25:00'
Määratud kuupäeva vormindamine
Vormindame määratud kuupäeva:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Koodi täitmise tulemus:
'31.12.2025'
Intervalli lisamine
Intervalli lisamine kuupäevale
teostatakse meetodi add kaudu:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 päeva
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Koodi täitmise tulemus:
'2025-05-25'
Intervalli lahutamine
Intervalli lahutamine kuupäevast
teostatakse meetodi sub kaudu:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 kuu ja 2 päeva
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Koodi täitmise tulemus:
'2025-04-13'
Uue kuupäeva määramine
Saab määrata uue kuupäeva
objektile DateTimeImmutable. Seda tehakse
meetodi setDate kaudu:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Koodi täitmise tulemus:
'2024-12-31'
Aja määramine
Saab määrata uue aja
objektile DateTimeImmutable. Seda tehakse
meetodi setTime kaudu:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Koodi täitmise tulemus:
'15:30:00'
Kuupäevade võrdlemine
Saab võrrelda kuupäevade objekte:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Objekti loomine ajavööndiga
Objekti DateTimeImmutable loomisel
saab määrata ajavööndi:
<?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');
?>
Koodi täitmise tulemus:
'2025-12-31 23:59:59 Europe/Moscow'
Vaata ka
-
klass
DateInterval,
mis määrab ajavahemiku -
klass
DateTimeZone,
mis määrab ajavööndi