Klasse DateTimeImmutable
Klassen DateTimeImmutable er en uforanderlig analog til DateTime. Den oppretter et nytt objekt ved enhver modifikasjon, noe som gjør den mer forutsigbar og sikker å arbeide med.
Nåværende tidspunkt
La oss opprette et objekt DateTimeImmutable
med nåværende dato og tid:
<?php
$date = new DateTimeImmutable();
?>
Spesifikk dato
La oss opprette et objekt DateTimeImmutable med angitt dato:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Spesifikk dato og tid
La oss opprette et objekt DateTimeImmutable
med angitt dato og tid:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Formatering av utdata
Opprettet dato kan vises i angitt format
ved hjelp av metoden format. La oss gjøre
dette for nåværende tidspunkt:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Resultat (vil endre seg avhengig av utførelsestidspunktet):
'2025-11-15 14:25:00'
Formatering av angitt dato
La oss formatere en angitt dato:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Resultat av kodekjøring:
'31.12.2025'
Legge til intervall
Tilføyelse av intervall til en dato
utføres gjennom metoden add:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 dager
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Resultat av kodekjøring:
'2025-05-25'
Subtraksjon av intervall
Subtraksjon av intervall fra en dato
utføres gjennom metoden sub:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 måned og 2 dager
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Resultat av kodekjøring:
'2025-04-13'
Angi ny dato
Du kan angi en ny dato for
objektet DateTimeImmutable. Dette gjøres
gjennom metoden setDate:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Resultat av kodekjøring:
'2024-12-31'
Angi tid
Du kan angi en ny tid for
objektet DateTimeImmutable. Dette gjøres
gjennom metoden setTime:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Resultat av kodekjøring:
'15:30:00'
Sammenligning av datoer
Du kan sammenligne objekter med datoer:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Opprettelse av objekt med tidssone
Ved opprettelse av objektet DateTimeImmutable
kan du angi tidssone:
<?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');
?>
Resultat av kodekjøring:
'2025-12-31 23:59:59 Europe/Moscow'
Se også
-
klassen
DateInterval,
som angir et tidsintervall -
klassen
DateTimeZone,
som angir en tidssone