2013-10-26 4 views
-1

Как сравнить две даты в php. Я получил массив дат из базы данных, и я хочу, чтобы он сравнивался с сегодняшней датой.Сравнение дат в php из базы данных

У меня есть что-то вроде этого.

$d['dd'] = 10; 
$d['mm'] = 12; 
$d['yy'] = 13; 

Теперь я сделал что-то вроде этого:

$date = $d['yy'].'-'.$d['mm'].'-'.$d['dd']; 
$date_diff=strtotime(date("y-m-d"))-strtotime($date); 
if($date_diff>0){ 
    //this date is gone. 
} 
// I want to show this day will go in 5 days. To do this I have following.  
if((strtotime(date("y-m-d", strtotime(date("y-m-d", strtotime(date('y-m-d'))) . "+ 5 days")))-$date_diff)>0){ 
// This day will go in 5 days time. 
} 

Теперь мой вопрос, что это лучший способ сделать это, или как я могу сделать это в лучшем (более надежный) способ. Любые предложения будут полезны.

Заранее спасибо.

ответ

0

При сопоставлении даты вы должны сделать это непосредственно в базе данных (если возможно), поскольку mysql знает о часовых поясах, DST-материалах, високосных годах и т. Д. PHP DateTime имеет историю проблем, и если вы можете получить базу данных для этого я бы порекомендовал это.

Сохраните ваши даты как DateTime и используйте встроенные функции даты mysql: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

 Смежные вопросы

  • Нет связанных вопросов^_^