DateTime Klasse
De klasse DateTime is het belangrijkste instrument voor het werken met datums en tijd in OOP-stijl. Het maakt het mogelijk om datum/tijd objecten aan te maken, te wijzigen en de uitvoer te formatteren.
Huidig tijdstip
Laten we een DateTime object aanmaken
met de huidige datum en tijd:
<?php
$date = new DateTime();
?>
Specifieke datum
Laten we een DateTime object aanmaken met een opgegeven datum:
<?php
$date = new DateTime('2025-12-31');
?>
Specifieke datum en tijd
Laten we een DateTime object aanmaken
met een opgegeven datum en tijd:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Opmaak van uitvoer
De aangemaakte 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 DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Resultaat (zal veranderen afhankelijk van het uitvoertijdstip):
'2025-11-15 14:25:00'
Opmaak van opgegeven datum
Laten we een opgegeven datum formatteren:
<?php
$date = new DateTime('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 DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // 10 dagen
$date->add($interval);
echo $date->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 DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 maand en 2 dagen
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Resultaat van de code-uitvoering:
'2025-04-13'
Nieuwe datum instellen
Er kan een nieuwe datum worden ingesteld voor
het DateTime object. Dit gebeurt
via de methode setDate:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Resultaat van de code-uitvoering:
'2025-12-31'
Tijd instellen
Er kan een nieuwe tijd worden ingesteld voor
het DateTime object. Dit gebeurt
via de methode setTime:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Resultaat van de code-uitvoering:
'15:30:00'
Datums vergelijken
Objecten met datums kunnen worden vergeleken:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Verschil tussen datums
Met behulp van de methode diff kan het
verschil tussen datums worden berekend. Het verschil
wordt geretourneerd als een object van het type
DateInterval:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%m maanden %d dagen');
?>
Resultaat van de code-uitvoering:
'1 maanden 14 dagen'
Tijdzone
Bij het aanmaken van een DateTime object
kan een tijdzone worden opgegeven:
<?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');
?>
Resultaat van de code-uitvoering:
'2025-12-31 23:59:59 Europe/Moscow'
Zie ook
-
klas
DateTimeImmutable,
die een onveranderbare datum aanmaakt -
klas
DateInterval,
die een tijdsinterval specificeert -
klas
DateTimeZone,
die een tijdzone specificeert