Как проверить строки даты в формате отметки времени (exp. 2014-10-02 13:31:53
) находится в пределах определенного периода времени в PHP.
Такие как:
Я предлагаю использовать DateTime
класс (PHP 5.2+) и использовать операторы сравнения. Например, сравните, если в этом месяце следующим образом;
$start = new DateTime("First day of this month 00:00:00");
$end = new DateTime("Last day of this month 23:59:59");
$datetotest = new DateTime("2014-10-02 13:31:53");
if($datetotest >= $start and $datetotest <= $end) {
// do stuff
}
Вы даже можете написать функцию для каждого из них, если хотите.
function isInThisMonth(DateTime $date) {
$start = new DateTime("First day of this month 00:00:00");
$end = new DateTime("Last day of this month 23:59:59");
return ($date >= $start and $date <= $end);
}
if(isInThisMonth($datetotest)) // do stuff
Если вы посмотрите на PHP: DateTime относительные форматы это даст вам представление об описаниях, которые вы можете использовать, чтобы получить действительный DateTime
для «прошлого года» или что-то еще.
Надеюсь это поможет.
Других решений пока нет …