Как я могу сравнить две даты в PHP? - PullRequest
118 голосов
/ 03 октября 2010

Как я могу сравнить две даты в PHP?

В базе данных дата выглядит как 2011-10-2.

Если я хочу сравнить сегодняшнюю дату с датой вбазу данных, чтобы увидеть, какой из них больше, как бы я это сделал?

Я пробовал это,

$today = date("Y-m-d");
$expire = $row->expireDate //from db

if($today < $expireDate) { //do something; }

, но на самом деле это не работает.Как еще это можно сделать?

Обновление: я знаю, что это сообщение довольно старое, но я просто хотел упомянуть углерод, который является классом, который используется с laravel, но может использоваться с классическим php, и он делает чудеса сдаты.проверить это: Углерод

Ответы [ 13 ]

0 голосов
/ 01 мая 2018

Прежде всего, попробуйте указать желаемый формат текущей даты вашего сервера:

  1. Получить текущее время даты

    $ current_date = getdate ();

  2. Разделяйте дату и время для управления ими по своему усмотрению:

$ current_date_only = $ current_date [year] .'- '.$ текущая_дата [пн] .'-»$ текущая_дата [MDAY].$ current_time_only = $ current_date ['hours']. ':'. $ current_date ['minutes']. ':'. $ current_date ['seconds'];

Сравните это в зависимости от того, используете ли вы дату или дату и время в вашей БД:

$ today = $ current_date_only. ''. $ current_time_only;

или

$ today = $ current_date_only;

if ($ today <$ expireDate) </p>

надеюсь, это поможет

0 голосов
/ 03 октября 2016

Просто вы можете проверить ..

if ($startdate < $date) {// do something} 
if ($startdate > $date) {// do something}

, но обе даты должны быть в одном и том же формате

Гм или дм

и т. Д.

0 голосов
/ 20 декабря 2015

Нашли ответ в блоге, и это так просто:

strtotime(date("Y"."-01-01")) -strtotime($newdate))/86400

И вы получите дни между двумя датами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...