За последние 24 часа нас посетили 31832 программиста и 3335 роботов. Сейчас ищут 1363 программиста ...

Арифметика с датой и временем.

Тема в разделе "PHP для новичков", создана пользователем Игорь_Vasinsky, 20 янв 2009.

  1. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Ситуация такая:

    есть 2 переменные:

    $data=date("m.d.y");
    $time=date("H:i:s");

    Предположим что резултат

    01.21.09 00:34:59

    Мне необходим вывести данные этих значений которые отличаются на 72 часа в большую сторону. Проше говоря посчитать чему будут равны эти значения через 3 дня.

    Читал про эти функции, но конкретного примера не нашёл.

    Предпологаю что нужно использовать time();
    Предположем значение равно 958905820 это все равно что и 12 часов 43 минуты Воскресенья 21 - ого Мая 2000 года
    но что за алгоритм связывает эти 2 значения я непонял.
     
  2. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Подключаем ту часть мозга которая отвечает за логику

    и сразу видим результат:

    если
    1232481184 = 01.21.09 00:53:04

    то
    1232481280 = 01.21.09 00:54:40

    как видно ра зница по времени 96 секунд

    и значение time() отличается на 96 причём значение увеличилось
     
  3. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. <?php
    2. $ts = strtotime('now +3 day');
    3. echo date("m.d.y H:i:s", $ts);
    4. ?>
     
  4. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    Еще вариант:
    PHP:
    1.  
    2. <?php
    3. $dt = time();
    4. $new_dt  = mktime(date("H",$dt)+72,  date("i",$dt), date("s",$dt), date("m",$dt)  , date("d",$dt), date("Y",$dt));
    5. echo date("m.d.y H:i:s",$dt)."<br>";
    6. echo date("m.d.y H:i:s",$new_dt);
    7. ?>
    8.  
     
  5. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Спасибо.
    А с этой функцией strtotime() я не был знаком
    Это было жестоко, я почти допер... Я хоть на правилном пути был?
     
  6. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    можно тупо к метки времени прибавить +60*60*72
     
  7. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Это скорее всего и было бы оконтанием моего кода, но спасибо. Экономия времени - приоритетная функция.
     
  8. alBoo

    alBoo Активный пользователь

    С нами с:
    27 мар 2008
    Сообщения:
    63
    Симпатии:
    0
    time() - возвращает упакованный формат времени - long int
    на самом деле - это кол-во секунд, прошедших с 01.01.1973 03:00:00 до текущего момента
     
  9. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Вот это ценная информация, всегда пригодится. Теперь буду знать. Спасибо.
     
  10. Врет он все

    Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970
     
  11. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Ну....
    Вот проверил на всякий случай

    time() - Возвращает текущее время, измеренное в секундах с начала Unix Epoch (January 1 1970 00:00:00 GMT).флоппик - прав
     
  12. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    естественно он прав, это написано в любой документациии
     
  13. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа