Intereting Posts
Как правильно использовать print_r или var_dump? Должны ли htmlspecialchars и mysql_real_escape_string сохранить код PHP безопасным от инъекции? Сохраните изображение из Flash, отправьте его на PHP и верните URL-строку во Flash DOMDocument удаляет теги сценариев из источника HTML jQuery AJAX загружает JSONP из localhost, но не возвращает данные Имя модели CakePHP использует PHP зарезервированное слово Как сортировать дату в mysql? Запрос был черным – CakePHP как реализовать сеанс PHP вручную Темы для PHP, разделяющие объект центрального сокета Серверный процессор и графический процессор с LAMP Может ли кто-нибудь предложить лучший сценарий изменения размера изображения в php? Лучший способ проверить существование переменной в PHP; isset () явно сломан Автоматически генерируемый порядковый номер, начиная с 001 (ТОЛЬКО ДЛЯ 3 ЦИФРОВ) – PHP / MYSQL Нечетный эффект прозрачности при слиянии двух .png с прозрачностью в PHP-GD

Проверьте, есть ли временная метка сегодня

У меня есть временная метка в следующем формате (что легко может быть изменено благодаря красоте PHP!).

2011-02-12 14:44:00

Каков самый быстрый / самый простой способ проверить, была ли эта метка взята сегодня?

Я думаю:

date('Ymd') == date('Ymd', strtotime($timestamp)) 
 if (date('Ym-d') == date('Ym-d', strtotime('2011-02-12 14:44:00'))) { // is today } 
 $offset = date('Z'); //timezone offset in seconds if (floor(($UNIX_TIMESTAMP + $offset) / 86400) == floor((mktime(0,0,0) + $offset) / 86400)){ echo "today"; } 

Это то, что я использую для такого рода задач:

 /** date comparator restricted by $format. @param {int/string/Datetime} $timeA @param {int/string/Datetime} $timeB @param {string} $format @returns : 0 if same. 1 if $timeA before $timeB. -1 if after */ function compareDates($timeA,$timeB,$format){ $dateA=$timeA instanceof Datetime?$timeA:(is_numeric($timeA)?(new \Datetime())->setTimestamp($timeA):(new \Datetime("".$timeA))); $dateB=$timeB instanceof Datetime?$timeB:(is_numeric($timeB)?(new \Datetime())->setTimestamp($timeB):(new \Datetime("".$timeB))); return $dateA->format($format)==$dateB->format($format)?0:($dateA->getTimestamp()<$dateB->getTimestamp()?1:-1); } 

compare day: $ format = 'Ym-d'.
сравнить месяц: $ format = 'Y-m'.
и т.д…

в твоем случае :

 if(compareDates("now",'2011-02-12 14:44:00','Ym-d')===0){ // do stuff } 

Я предпочитаю сравнивать временные метки (а не строки даты), поэтому я использую это для проверки сегодня.

 $dayString = "2011-02-12 14:44:00"; $dayStringSub = substr($dayString, 0, 10); $isToday = ( strtotime('now') >= strtotime($dayStringSub . " 00:00") && strtotime('now') < strtotime($dayStringSub . " 23:59") ); 

Скрипт: http://ideone.com/55JBku

 (date('Ymd') == gmdate('Ymd', $db['time']) ? 'today' : '') 

вы имеете в виду это?

 if( strtotime( date( 'Ymd' , strtotime( '2011-02-12 14:44:00' ) ) ) == strtotime( date( 'Ymd' ) ) ) { //IS TODAY; }