Кто-нибудь знает, как динамически загружать данные текущей даты в дату в 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!';
}
Вы Можно сравнить 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!';
}
следить за типом данных
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!';
}