Vergelyking van datumstrings in PHP
Kom ons het twee datums in die volgende teks- formaat:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
In so 'n geval kan ons hierdie datums vergelyk en uitvind watter een groter is:
<?php
var_dump($date1 > $date2);
?>
Hoe vind hierdie vergelyking van datums plaas? Die feit is dat ons datums stringe voorstel en PHP vergelyk hulle as stringe. Dit beteken dit vergelyk eers die eerste karakters van die twee datums: as hulle dieselfde is, vergelyk PHP die tweede karakters, en so aan, totdat dit 'n verskil vind. Danksy die feit dat in ons datumformaat die jaar eerste kom, dan die maand, en dan die dag, is so 'n vergelyking moontlik.
Dit is ook belangrik dat die datums in een formaat is. In ons geval is die skeiers van datumdele koppelteken. Dit is natuurlik nie noodsaaklik nie. Byvoorbeeld, ons kan punte gebruik:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Of selfs die skeiers heeltemal verwyder:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Die hoofsaak, vir 'n korrekte vergelyking, moet die rangskikking so wees: eers jaar, dan maand, dan dag.
Skryf kode wat die twee hieronder gegewe datums vergelyk en 'n boodskap uitdruk oor watter een van hulle groter is:
$date1 = '2020-11-30';
$date2 = '2020-12-01';