Klasse DateTimeImmutable
De klasse DateTimeImmutable is de onveranderbare tegenhanger van DateTime. Het creëert een nieuw object bij elke wijziging, wat het voorspelbaarder en veiliger maakt om mee te werken.
Huidig Tijdstip
Laten we een DateTimeImmutable object aanmaken
met de huidige datum en tijd:
<?php
$date = new DateTimeImmutable();
?>
Specifieke Datum
Laten we een DateTimeImmutable object aanmaken met een opgegeven datum:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Specifieke Datum en Tijd
Laten we een DateTimeImmutable object aanmaken
met een opgegeven datum en tijd:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Opmaak van Uitvoer
De gemaakte datum kan in een opgegeven formaat worden weergegeven
met behulp van de methode format. Laten we dit doen
voor het huidige tijdstip:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Resultaat (zal variëren afhankelijk van het uitvoertijdstip):
'2025-11-15 14:25:00'
Opmaak van een Opgegeven Datum
Laten we een opgegeven datum formatteren:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Resultaat van de code-uitvoering:
'31.12.2025'
Interval Toevoegen
Het toevoegen van een interval aan een datum
gebeurt via de methode add:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 dagen
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Resultaat van de code-uitvoering:
'2025-05-25'
Interval Aftrekken
Het aftrekken van een interval van een datum
gebeurt via de methode sub:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 maand en 2 dagen
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Resultaat van de code-uitvoering:
'2025-04-13'
Nieuwe Datum Instellen
Je kunt een nieuwe datum instellen voor een
DateTimeImmutable object. Dit gebeurt
via de methode setDate:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Resultaat van de code-uitvoering:
'2024-12-31'
Tijd Instellen
Je kunt een nieuwe tijd instellen voor een
DateTimeImmutable object. Dit gebeurt
via de methode setTime:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Resultaat van de code-uitvoering:
'15:30:00'
Datums Vergelijken
Je kunt objecten met datums vergelijken:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Object Aanmaken met Tijdzone
Bij het aanmaken van een DateTimeImmutable object
kun je een tijdzone opgeven:
<?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 de code-uitvoering:
'2025-12-31 23:59:59 Europe/Moscow'
Zie Ook
-
klas
DateInterval,
die een tijdsinterval specificeert -
klas
DateTimeZone,
die een tijdzone specificeert