Jämföra strängar med datum i PHP
Låt oss säga att vi har två datum i följande textformat:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
I detta fall kan vi jämföra dessa datum och ta reda på vilket av dem som är större:
<?php
var_dump($date1 > $date2);
?>
Hur går jämförelsen av dessa datum till? Saken är att våra datum är strängar och PHP jämför dem som strängar. Det betyder att den först jämför de första tecknen i de två datumen: om de är lika jämför PHP de andra tecknen, och så vidare, tills den hittar en skillnad. På grund av att i vårt datumformat först kommer året, sedan månaden och sedan dagen, är en sådan jämförelse möjlig.
Det är också viktigt att datumen är i samma format. I vårt fall är avgränsarna för datumdelar bindestreck. Detta är naturligtvis inte ett krav. Till exempel kan man använda punkter:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Eller till och med ta bort avgränsarna helt:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
För att jämförelsen ska vara korrekt är huvudsaken att placeringen är följande: först år, sedan månad, sedan dag.
Skriv kod som jämför de två datumen nedan och skriver ut ett meddelande om vilket av dem som är större:
$date1 = '2020-11-30';
$date2 = '2020-12-01';