Sammenligning af strenge med datoer på PHP
Lad os sige, at vi har to datoer i følgende tekstmæssige format:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
I dette tilfælde kan man udføre en sammenligning af disse datoer og finde ud af, hvilken af disse datoer er større:
<?php
var_dump($date1 > $date2);
?>
Hvordan foregår sammenligningen af disse datoer? Faktum er, at vores datoer repræsenterer strenge, og PHP sammenligner dem som strenge. Det vil sige, at den først sammenligner de første tegn af de to datoer: hvis de er ens, så sammenligner PHP de andet tegn, og så videre, indtil den finder en forskel. Takket være at i vores datoformat er året placeret først, derefter måneden, og derefter dagen, er sådan en sammenligning mulig.
Det er også vigtigt, at datoerne er i samme format. I vores tilfælde er separatorerne for datoens dele bindestreger. Dette er selvfølgelig ikke et krav. For eksempel kan man sætte punktummer:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Eller helt fjerne separatorerne:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Hovedsagen er, at for at sammenligningen skal være korrekt, skal placeringen være som følger: først år, derefter måned, derefter dag.
Skriv kode, der sammenligner de to nedenstående datoer og udskriver en besked om, hvilken af dem der er større:
$date1 = '2020-11-30';
$date2 = '2020-12-01';