Kulinganisha Miundo ya Tarehe kwenye PHP
Tuchukulie tuna tarehe mbili kwenye muundo ufuatayo wa maandishi:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
Kwa hali hii inawezekana kutekeleza kulinganisha tarehe hizi na kujua ni tarehe gani kubwa zaidi:
<?php
var_dump($date1 > $date2);
?>
Kulinganisha hufanyikaje? Jambo ni kwamba, tarehe zetu ni miundo ya maandishi na PHP inalinganisha kama miundo ya maandishi. Hiyo ni, kwanza inalinganisha herufi za kwanza za tarehe zote mbili: ikiwa ni sawa, PHP inalinganisha herufi za pili, na kadharika, hadi itakapopata tofauti. Shukrani kwa ukweli kwamba katika muundo wetu wa tarehe kwanza kuna mwaka, kisha mwezi, na kisha siku, ndio maana kulinganisha kama huku kunafaa.
Ni muhimu pia kwamba tarehe ziwe katika muundo mmoja. Kwa upande wetu, vitenganishi vya sehemu za tarehe ni vistari. Hii, bila shaka, sio lazima. Kwa mfano, unaweza kuweka nukta:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Au hata kuondoa vitenganishi kabisa:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Jambo la msingi, ili kulinganisha kuwe sahihi, mpangilio ufuatao unapaswa kutumika: kwanza mwaka, kisha mwezi, kisha siku.
Andika msimbo ambao utalinganisha tarehe mbili zilizo hapa chini na utoe ujumbe kuonyesha ni ipi kati yao kubwa zaidi:
$date1 = '2020-11-30';
$date2 = '2020-12-01';