თარიღების სტრიქონების შედარება PHP-ში
დავუშვათ, გვაქვს ორი თარიღი შემდეგ ტექსტურ ფორმატში:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
ამ შემთხვევაში შესაძლებელია ამ თარიღების შედარება და იმის გარკვევა, რომელი მათგანია უფრო ახალი:
<?php
var_dump($date1 > $date2);
?>
როგორ ხდება ამ თარიღების შედარება? საქმე იმაშია, რომ ჩვენი თარიღები წარმოადგენენ სტრიქონებს და PHP მათ სტრიქონების სახით ადარებს. ანუ ის ჯერ ადარებს ორი თარიღის პირველ სიმბოლოებს: თუ ისინი ერთნაირია, PHP ადარებს მეორე სიმბოლოებს, და ასე შემდეგ, სანამ არ იპოვის განსხვავებას. იმის გამო, რომ ჩვენს თარიღების ფორმატში ჯერ მოცემულია წელი, შემდეგ თვე, და შემდეგ დღე, ასეთი შედარება შესაძლებელია.
ასევე მნიშვნელოვანია, რომ თარიღები იყოს ერთი ფორმატის. ჩვენს შემთხვევაში თარიღის ნაწილების გამყოფები არის დეფისები. ეს, რა თქმა უნდა, არ არის აუცილებელი. მაგალითად, შესაძლებელია დავსვათ წერტილები:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
ან საერთოდ ამოვიღოთ გამყოფები:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
მთავარია, რომ შედარება იყოს კორექტული, განლაგება უნდა იყოს შემდეგი: ჯერ წელი, შემდეგ თვე, შემდეგ დღე.
დაწერეთ კოდი, რომელიც შეადარებს ქვემოთ მოცემულ ორ თარიღს და გამოიტანს შეტყობინებას იმის შესახებ, რომელი მათგანია უფრო ახალი:
$date1 = '2020-11-30';
$date2 = '2020-12-01';