date — Проверьте дату и время между днями, используя переполнение стека

Я хочу проверить дату публикации между заданным днем
Вот мой вклад ниже:

$no_of_days = 1;

И мое время публикации поста, как показано ниже:

$post_datetime = '2016-03-01T03:50:47.742Z';

Нет, я хочу проверить, если $ post_datetime между $ NO_OF_DAYS или нет

заранее спасибо

0

Решение

Попробуй это

$post_datetime = '2016-03-01T03:50:47.742Z';
$no_of_days = 1;

$date1=date_create($post_datetime);
$date2=date_create(date("Y-m-d"));
$diff=date_diff($date1, $date2);
$days = $diff->format("%a");
if($days <= $no_of_days) //do something
2

Другие решения

/**
* Checks if the given dates are in a defined range
*
* To handle with the difference of CET and CEST, a complete day gets
* aggregated to the days if there is a difference of hours.
*
* @param \DateTime $date1 Your defined date
* @param \DateTime $date2 The date that has to be valuated
* @param int $numberOfDays
* @return bool
*/
public function isDateInRange(
DateTime $date1,
DateTime $date2,
$numberOfDays
) {
$days  = (int) $date2->diff($date1)->days;
$hours = (int) $date2->diff($date1)->h;
if ($hours > 0) {
++$days;
}
if ($days <= $numberOfDays) {
return true;
}
return false;
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector