дата посещения

Discussion in 'PHP' started by vorona, 14 Jan 2010.

  1. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    Дата последнего посещения пользователя записана в виде: 2010-01-14 17:53:21. Как проверить прошло 24 часа с даты его последнего посещения или нет?
     
  2. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Либо сохраняй дату изначально в unixtime или парсь дату:
    PHP:
    <?php
    $result 
    ='2010-01-11 20:48:21';
    preg_match('/[0-9]+\-[0-9]+\-([0-9]+) ([0-9]+)\:([0-9]+)\:[0-9]+/'$result$temp);
    if (
    date('d') > $temp[1]) {
    if (
    date('H') >= $temp[2]) {
    if (
    date('i') >= $temp[3]) {echo 'Прошло 24 часа!';}
    }}
    ?>
    как то так)
     
  3. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    FFFFUUUUUU!!!!1111
    http://php.net/manual/en/function.strtotime.php

    хотя иногда, всё-таки приходится парсить самому.
     
  4. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    Дата имеет тип DATETIME. Можно её как-то корвертнуть в unixtime?
     
  5. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    А если сохранять в UNIXTIME, то как тогда?
     
  6. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    568
    Likes Received:
    86
    Reputations:
    11
    Не знаю как вы php.net читаете и читаете ли вообще

    GMT time is useful for avoiding the daylight's savings issue. I had to use it to get a working date difference function:

    Функция возращает разницу между двумя датами в днях
    PHP:
    <?php
    function dateDiff($date1$date2//returns the difference, in days, between two dates.  avoids the daylight's savings issue by using GMT
    {
        
    $date1 date_parse($date1);
        
    $date2 date_parse($date2);
        return ((
    gmmktime(000$date1['month'], $date1['day'], $date1['year']) - gmmktime(000$date2['month'], $date2['day'], $date2['year']))/3600/24);
    }
    ?>
    date_parse - если не понятно что это то читай тут
     
  7. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Мы не ищем легких путей (с)

    :)

    Точнее мы вообще не ищем, мы только спрашиваем =) [b3]
     
    #7 GlooK, 14 Jan 2010
    Last edited by a moderator: 14 Jan 2010