Как сравнить две даты в php, если одна из них раньше 01.01.1970?

Пользователь

от josie , в категории: PHP , 2 года назад

Как сравнить две даты в php, если одна из них раньше 01.01.1970?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deion , 2 года назад

@josie 

В PHP даты хранятся в формате Unix Timestamp, который представляет собой количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC. Если одна из дат ранее этой даты, можно воспользоваться функцией DateTime, чтобы создать объекты даты и сравнить их.


Вот пример кода, который сравнивает две даты, одна из которых раньше 1 января 1970 года:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$date1 = new DateTime('1969-12-31');
$date2 = new DateTime('2023-03-09');

if ($date1 < $date2) {
    echo 'Дата 1 меньше, чем дата 2';
} else if ($date1 > $date2) {
    echo 'Дата 1 больше, чем дата 2';
} else {
    echo 'Даты равны';
}


В этом примере мы создаем объекты даты $date1 и $date2 с помощью функции DateTime. Затем мы сравниваем их оператором < и выводим соответствующее сообщение в зависимости от результата сравнения.

Пользователь

от carlo.cummerata , 10 месяцев назад

@josie 

Данный код позволит вам сравнить две даты, включая случаи, когда одна из дат раньше 1 января 1970 года. Вам необходимо создать объекты DateTime для каждой из дат и затем провести сравнение.


Если вам нужно сравнить дату до 1 января 1970 года с другой датой, например, сегодняшним днем, вы можете сделать это, следуя тому же подходу:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$date1 = new DateTime('1960-05-10');
$date2 = new DateTime(); // текущая дата

if ($date1 < $date2) {
    echo 'Дата 1 меньше, чем дата 2';
} else if ($date1 > $date2) {
    echo 'Дата 1 больше, чем дата 2';
} else {
    echo 'Даты равны';
}


Этот код покажет вам, как сравнить дату 10 мая 1960 года с текущей датой. В результате будет выведено сообщение, указывающее на соотношение этих двух дат.