Выяснить, что сегодня х число дней после данной даты в PHP - PullRequest
0 голосов
/ 13 сентября 2011

В моей базе данных есть данные, которые возвращают точки данных месяца / дня / года для событий.

Что я хочу сделать, так это проверить, наступил ли сегодня 20 дней после того месяца, который я получил.

Пока у меня есть что-то вроде:

// Get date data
$day = $row['DAYOFMONTH(hike_date)'];
$year = $row['YEAR(hike_date)'];
$month = $row['MONTH(hike_date)'];

// Get today's date
$todays_date = date("Y-m-d");

// Create the date I am comparing with 
$date_string = $year.'-'.$month.'-'.$day;

Мой вопрос: как мне это сравнить? И формат будет иметь значение при сравнении двух дат?

Спасибо!

Ответы [ 4 ]

3 голосов
/ 13 сентября 2011

Разобрать месяц / день / год в DateTime:

$other = date_create($year.'-'.$month.'-'.$day);

Добавить к нему 20 дней:

$twenty_days_after = clone $other;
$twenty_days_after->modify('+20 days');

Сравнить с сегодняшним днем:

if ($today >= $twenty_days_after) {
    // today is 20 days after the month/day/year that you got
}

См. date_create.

1 голос
/ 13 сентября 2011

используйте

strtotime()

функцию, которая преобразует ваши даты в метки времени, и вы можете сравнить их проще

1 голос
/ 13 сентября 2011
// Get date data
$day = $row['DAYOFMONTH(hike_date)'];
$year = $row['YEAR(hike_date)'];
$month = $row['MONTH(hike_date)'];

// Get today's date
$todays_date = date("Y-m-d");

// Create the date I am comparing with 
$date_string = $year.'-'.$month.'-'.$day;

if ( date( 'Y-m-d', strtotime( "+20 days", $date_string ) ) {
    //date is 20 days before today
}

strtotime делает волшебные вещи

1 голос
/ 13 сентября 2011
$database_date             = strtotime(sprintf('%s-%s-%s', $year,$month,$day));
$twenty_days_from_now      = strtotime('+20 days');
$twenty_days_From_database = strtotime(sprintf('%s-%s-%s +20 days', $year,$month,$day));

Использование strttime - самый простой метод.

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