Sammenligning av datostrenger i PHP
La oss si at vi har to datoer i følgende tekstformat:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
I dette tilfellet kan vi sammenligne disse datoene og finne ut hvilken av dem som er størst:
<?php
var_dump($date1 > $date2);
?>
Hvordan foregår denne sammenligningen av datoer? Saken er at våre datoer er strenger, og PHP sammenligner dem som strenger. Det vil si at den først sammenligner de første tegnene i de to datoene: hvis de er like, så sammenligner PHP de andre tegnene, og så videre, inntil den finner en forskjell. På grunn av at datoformatet vårt har år først, deretter måned, og så dag, er en slik sammenligning mulig.
Det er også viktig at datoene er i samme format. I vårt tilfelle er skilletegnene mellom delene av datoen bindestreker. Dette er selvfølgelig ikke obligatorisk. For eksempel kan man sette punktum:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Eller helt fjerne skilletegnene:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Hovedsaken er at for at sammenligningen skal være korrekt, må rekkefølgen være som følger: først år, deretter måned, så dag.
Skriv kode som sammenligner de to datoene nedenfor og skriver ut en melding om hvilken av dem som er størst:
$date1 = '2020-11-30';
$date2 = '2020-12-01';