Задача:
В базе хранились данные с датами в формате 11-10-2010.
Нужно было при наступлении определенной даты - вывести событие.

Решение:
Нужно привести данные к формату timestamp Unix:

$databaseDate = '07-11-2010';
$dataBase = strtotime($databaseDate);

Дата СЕГОДНЯ в офрмате timestamp Unix:

$todayDate = strtotime('midnight');

также эта функция идентичная следующему выражению:

$todayDate2 =  mktime(0, 0, 0, date("m"), date("d"), date("Y"));

Ну и дальше:

if ($todayDate == $dataBase)  { echo 'Даты идентичны!';}

Все!

Приведу еще функцию вывода текущей даты в формате 1-января-2011 года c правильным написанием окончаний на русском языке.

Функция вывода текущей даты:

function nowDate() {
 
 
$month[1]  = "Январ";
$month[2]  = "Феврал";
$month[3]  = "Март";
$month[4]  = "Апрел";
$month[5]  = "Ма";
$month[6]  = "Июн";
$month[7]  = "Июл";
$month[8]  = "Август";
$month[9]  = "Сентябр";
$month[10] = "Октябр";
$month[11] = "Ноябр";
$month[12] = "Декабр";
 
$day[0] = "Воскресенье";
$day[1] = "Понедельник";
$day[2] = "Вторник";
$day[3] = "Среда";
$day[4] = "Четверг";
$day[5] = "Пятница";
$day[6] = "Суббота";
 
$dnum = date("w");
$mnum = date("n");
$daym = date("d");
$year = date("Y");
 
$textday = $day[$dnum];
$monthm = $month[11];
 
if ($mnum==3||$mnum==8)
{
$k="а";
}
else
{
$k="я";
}
$date="$textday<br> $daym $monthm$k $year г.";
return $date;
 
}

Результат выполнения будет:
Понедельник
08 Декабря 2010 г.



3 комментариев к “Сравнение дат PHP”

  • Richi :

    Спасибо. не знал что при помощи strtotime так легко конвертить дату в UNIX-формат

  • Эдуард :

    Проверил код нашел несоотвествия а значит не правельную работу над немного изменить
    эту строчку:
    $date=$daym." ".$month[$mnum].$k." ".$year."г. ".$textday;

  • Vladimir :

    Эдуард, подскажите где не соответствия? У меня на тестовом сайте http://gavnosite.com в правом сайдбаре работает эта функция уже пару лет, вроде все ок.

Оставить комментарий

Подписка по e-mail и RSS
rss

Подписаться по e-mail:

Поиск
Категории