За последние 24 часа нас посетили 26603 программиста и 1511 роботов. Сейчас ищут 875 программистов ...

Минуты в дни

Тема в разделе "PHP для новичков", создана пользователем Freakmeister, 26 июл 2010.

  1. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Перевод в дату нашёл, а простую конвертацию в дни нет. Подскажите плз функцию, не хочу делать на коленке.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Какие минуты? В какие дни?
    Это где ты нашел перевод минут в дни?
     
  3. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Есть некий счётчик, который считает время и записывает его в минутах. Мне нужно, чтобы 9491 минут выдавалось как: 6 дней, 14 часов и 35 минут. Есть ли такая функция конвертации в PHP?
     
  4. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    PHP:
    1. <?
    2. echo date("d H:i:s",mktime(0,9491 ,0,0,0,0));
    3. ?>
     
  5. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Возможен workaround.
    Да, можно от указанной даты отсчитать 9491 минуту и получить текущую дату, а от неё уже отнять полученную и получить нужную.
    strtotime("+9491 minutes", /*point*/)
     
  6. zvenophp

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

    С нами с:
    21 июл 2010
    Сообщения:
    62
    Симпатии:
    0
    Я не уверен но нужна какая то определенная формула пересчета минут в дни или часы, а лучьше переделать весь счетчик к стандартным 60 минутам и 24 часам.
     
  7. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Ensiferum, mktime() returns the Unix timestamp of the arguments given.

    Apple, эти минуты записываются из совершенно произвольных участков времени - у меня нет ни времени старта таймера, ни времени финиша и к текущей дате эти минуты тоже никак не привяжешь. Грубо говоря, там просто считается сколько человек был в онлайне, но не пишется когда. Поэтому нужен именно конвертор из минут в дни. Странно, был уверен, что в пхп есть такой. =\
     
  8. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Freakmeister
    Ну дак сделай из минут секунды, привяжи их к текущей дате и из получившейся отними её.
    Умеешь из минут сделать секунду? Думаю, что это даже ребенок умеет.
    А с секундами функций хоть отбавляй.
     
  9. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Freakmeister
    посмотри на мой пример
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Это же математика простая
    PHP:
    1. <?php
    2. $days = intval(9491 / 1440);
    3. $hours = intval((9491 - $days * 1440) / 60);
    4. $mins = 9491 - ($days*1440 + $hours*60);
    5. echo $days,'<br>',$hours,'<br>',$mins;
     
  11. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    [vs], тем ни менее, хотелось узнать как это делается красиво, а не длинным быдлокодом.
    Ensiferum, спасибо, твой пример работает.
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Freakmeister
    Внимательно посмотри, там есть код.