Год динамически в дату — Переполнение стека

Кто-нибудь знает, как динамически загружать данные текущей даты в дату в PHP?
Например: год, чтобы автоматически обновить.
Я пытаюсь следующее безуспешно.

$nowDate = date('d/m/Y');
$cYear = date('Y');
$dateBegin = DateTime::createFromFormat('d/m/Y', '01/01/'.$cYear);
$dateEnd = DateTime::createFromFormat('d/m/Y', '31/12/'.$cYear);

if ($nowDate >= $dateBegin && $nowDate <= $dateEnd)
{
echo "is between";
} else {
echo 'OUT!';
}

2

Решение

Вы Можно сравнить DateTime объекты между собой:

$dateNow = new DateTime();
$dateBegin = new DateTime($dateNow->format('Y-01-01 00:00:00'));
$dateEnd = new DateTime($dateNow->format('Y-12-31 23:59:59'));

if ($dateBegin <= $dateNow && $dateNow <= $dateEnd) {
echo "is between";
} else {
echo 'OUT!';
}

демонстрация

0

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

следить за типом данных

string date ( string $format [, int $timestamp ] )
public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

сделай такой же тип и сравни.

$nowDate = date('d/m/Y');
$cYear = date('Y');

$dateBegin = DateTime::createFromFormat('d/m/Y', '01/01/'.$cYear);
$dateEnd = DateTime::createFromFormat('d/m/Y', '31/12/'.$cYear);

// change to DateTime type
$nowDate2 = DateTime::createFromFormat('d/m/Y', $nowDate) ;
echo $nowDate2->format('Y-m-d')."\n";
echo $dateBegin->format('Y-m-d')."\n";
echo $dateEnd->format('Y-m-d')."\n";

if ($nowDate2 >= $dateBegin && $nowDate2 <= $dateEnd)
{
echo "is between";
} else {
echo 'OUT!';
}
0

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