КАк сравнить текушую дату, и взятую из БД mysql??

Discussion in 'PHP' started by Befan, 15 Jun 2012.

  1. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    вот есть строчка:
    $result2 = mysql_query("SELECT * FROM views WHERE (ip_v='$IP') ORDER BY `views`.`time` DESC");
    $myRecord2 = mysql_fetch_array($result2);

    $data=$myRecord2['time']; /*тут время и дата из mysql 2012-06-14 23:51:37 тип таблицы DATATIME */

    $data1=date("Y-m-d H:i:s"); /*тут текущее время и дата (2012-06-15 00:08:36 ) */

    $raznica =date_diff($data1,$data);

    но в разнице ошибка. помогите исправить.
     
  2. Darth Padla

    Darth Padla Member

    Joined:
    21 Jun 2010
    Messages:
    141
    Likes Received:
    25
    Reputations:
    8
    PHP:
    function date_diff($data){
        
    $temp=explode(" ",$data);
        
    $time=explode(":",$data[1]);
        
    $date=explode("-",$data[0]);    
        
    //mktime(часы(24),минуты,секунды,месяц,число,год);
        
    $epoch_1=mktime($time[0],$time[1],$time[2],$date[1],$date[2],$date[0]);
        
    //Текущий момент..
        
    $epoch_2=time();
        
    $diff_seconds=$epoch_2-$epoch_1;
        
    $diff_weeks=floor($diff_seconds/604800);
        
    $diff_seconds-=$diff_weeks*604800;
        
    $diff_days=floor($diff_seconds/86400);
        
    $diff_seconds-=$diff_days*86400;
        
    $diff_hours=floor($diff_seconds/3600);
        
    $diff_seconds-=$diff_hours*3600;
        
    $diff_minutes=floor($diff_seconds/60);
        
    $diff_seconds-=$diff_minutes*60;
        
    $result=$diff_weeks."-".$diff_days."-".$diff_hours."-".$diff_minutes."-".$diff_seconds;
        return 
    $result;
    }
    ногами не бить
    а вообще покань функцию date_diff,я шось не нашел её среди стандартных
    UPD:
    плохо искал. а ты уверен что у тебя php>=5.3.0?
    кури эту ссылку внимательно,но сначала проверь. про функцию phpinfo() надеюсь не надо рассказывать
     
    #2 Darth Padla, 15 Jun 2012
    Last edited: 15 Jun 2012
    1 person likes this.
  3. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    посоны, вы это прекращайте.. http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html это всё делается ещё на уровне запроса.
     
    1 person likes this.
  4. neo-classic

    neo-classic New Member

    Joined:
    15 Jun 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Ещё вариант

    в php 5.2 появился такой встроенный класс - DateTime.
    В его конструктор вы можете передать дату из базы, и преобразовать её к любому формату, при помощи метода format().