Time from seconds php

How to Convert Seconds into Days, Hours and Minutes

I’m going to let you know how to turn second into date format in this quick tutorial, which is a common challenge for web development, in order to convert date into a certain date format.

We must translate the date from timetable to the desired data format by using the date function (timetamp, ‘date format’), to obtain the above results.

However here we convert seconds to a user-specific date format, like we would like to display below.

“14 days, six hours, 56 minutes, seven seconds”

The simple hours formula:
hours = seconds ÷ 3,600

The time in hours is equal to the time in seconds divided by 3,600. Since there are 3,600 seconds in one hour, that’s the conversion ratio used in the formula.

Читайте также:  Php flush all buffers

PHP Function to Convert seconds to Days, Hours, Minutes and Seconds

function secsToStr($secs) < if($secs>=86400)<$days=floor($secs/86400);$secs=$secs%86400;$r=$days.' day';if($days<>1)if($secs>0)> if($secs>=3600)<$hours=floor($secs/3600);$secs=$secs%3600;$r.=$hours.' hour';if($hours<>1)if($secs>0)> if($secs>=60)<$minutes=floor($secs/60);$secs=$secs%60;$r.=$minutes.' minute';if($minutes<>1)if($secs>0)> $r.=$secs.' second';if($secs<>1) return $r; >

Simple usage:
echo secsToStr(90360);

Output:
1 day, 1 hour, 6 minutes 0 seconds

Option 2:Convert Seconds to Days, Hours and Minutes

The following code is simple, for turning seconds independently or blended into days, hours and minutes.

function secToDaysHoursMinutes($seconds) < $days = floor($seconds/86400); $hours = floor(($seconds - $days*86400) / 3600); $minutes = floor(($seconds / 60) % 60); return "$days days:$hours hours:$minutes minutes"; >

We have passed a variable $seconds into this method. Then we converted the seconds into hours, minutes, and seconds respectively.

Simple usage:
echo secToDaysHoursMinutes(90360);

Output:
1 days:1 hours:6 minutes

Источник

Секунды в минуты, часы, дни

Две PHP функции для конвертирования секунд в дни, часы, минуты.

Результат в массиве

function secToArray($secs) < $res = array(); $res['days'] = floor($secs / 86400); $secs = $secs % 86400; $res['hours'] = floor($secs / 3600); $secs = $secs % 3600; $res['minutes'] = floor($secs / 60); $res['secs'] = $secs % 60; return $res; >$array = secToArray(167); print_r($array);

Результат:

Array( [days] => 0 [hours] => 0 [minutes] => 2 [secs] => 47 )

Вывод строкой

Понадобится функция для склонения числительных.

function num_word($value, $words, $show = true) < $num = $value % 100; if ($num >19) < $num = $num % 10; >$out = ($show) ? $value . ' ' : ''; switch ($num) < case 1: $out .= $words[0]; break; case 2: case 3: case 4: $out .= $words[1]; break; default: $out .= $words[2]; break; >return $out; > function secToStr($secs) < $res = ''; $days = floor($secs / 86400); $secs = $secs % 86400; $res .= num_word($days, array('день', 'дня', 'дней')) . ', '; $hours = floor($secs / 3600); $secs = $secs % 3600; $res .= num_word($hours, array('час', 'часа', 'часов')) . ', '; $minutes = floor($secs / 60); $secs = $secs % 60; $res .= num_word($minutes, array('минута', 'минуты', 'минут')) . ', '; $res .= num_word($secs, array('секунда', 'секунды', 'секунд')); return $res; >echo secToStr(167); // 0 дней, 0 часов, 2 минуты, 47 секунд echo secToStr(12345678); // 142 дня, 21 час, 21 минута, 18 секунд

Источник

Секунды в дни-часы-минуты (PHP)

Напишем функцию array seconds2times(int $seconds) , которая принимает количество секунд и возвращает массив с годами/днями/часами/минутами/секундами.

Пример

Обработаем несколько значений, показывающих, что функция хорошо обрабатывает как пару минут, так и несколько лет.

Результат

5 сек. = 5 сек. 10 сек. = 10 сек. 123 сек. = 2 мин. 3 сек. 456 сек. = 7 мин. 36 сек. 789 сек. = 13 мин. 9 сек. 1234 сек. = 20 мин. 34 сек. 5678 сек. = 1 час. 34 мин. 38 сек. 9012 сек. = 2 час. 30 мин. 12 сек. 12345 сек. = 3 час. 25 мин. 45 сек. 67890 сек. = 18 час. 51 мин. 30 сек. 123456 сек. = 1 д. 10 час. 17 мин. 36 сек. 789012345 сек. = 25 лет 7 д. 2 час. 5 мин. 45 сек. 7890512345 сек. = 250 лет 75 д. 8 час. 59 мин. 5 сек.

Послесловие

Если хотите склонять числа, то прочтите статью: Склонение числительных на PHP.

Категории

Читайте также

  • Посчитать сколько времени прошло (PHP)
  • Преобразовать дату в секунды (PHP)
  • Количество секунд от начала дня (PHP)
  • Количество дней между датами (PHP)
  • Количество часов между датами (PHP)
  • Количество минут между датами (PHP)
  • Количество секунд между датами (PHP)
  • Как получить TIMESTAMP дня текущей недели (PHP)
  • Установить часовой пояс (PHP)
  • Дата вчера сегодня завтра (PHP)
  • Разница дат (PHP)
  • Название предыдущего месяца (PHP)

Комментарии

Большое спасибо! Помогла ваша функция 😉

Функция second2times обновилась, пользователем был обнаружен баг, в результате которого возвращались неверные данные.

Вход на сайт

Введите данные указанные при регистрации:

Социальные сети

Вы можете быстро войти через социальные сети:

Источник

Convert Seconds To Hours, Minutes in PHP

Say you’re running a process that runs in the background. It’s better to not let the user lose their patience and tell them when it will finish. But, you have the time remaining in seconds. If we show the user :

He/she (user) would have to take a calculator and convert it into minutes or hours. Or if the guy/gal is not a math genius, he would close the UI and say «What the Hell ?»

The primary point in UI is that

Mark my words : «You shouldn’t make the user angry».

Seconds is converted to Hours, Minutes

Here is a simple function to convert seconds to hours, minutes and seconds separately or mixed together :

If you’re wondering why I chose secToHR as the function name, it’s the abbreviation of Seconds to Human Readable.

Or if you wanna display like this :

1 hour, 20 minutes remaining 10 minutes, 20 seconds remaining 15 seconds remaining

then, replace the return function with this :

return $hours > 0 ? "$hours hours, $minutes minutes remaining" : ($minutes > 0 ? "$minutes minutes, $seconds seconds remaining" : "$seconds seconds remaining");

BTW, I would suggest you do it like above ^, because it’s more user friendly.

Usage

/** * Function with 'h:m:s' form as return value */ echo secToHR(560); echo secToHR(10950); /** * Function with 'remaining' in return value */ echo secToHR();

And the corresponding outputs :

0:9:20 3:2:30 9 minutes, 20 seconds remaining 3 hours, 2 minutes remaining 

I have used this in the Downloader App as I mentioned in the previous post.

Источник

Time from seconds php

Поместить в переменную, ваше количество секунд, которые вы хотите перегнать в часы. Пусть секунд будет «4150»:

Пример получения из секунд часов

Но , как высчитать целое количество часов из секунд? И получить остаток в секундах?

Перевести секунды в часы в php(целые часы и остаток секунд).

Для того, чтобы получить целое количество часов из секунда и получить остаток секунд. нам понадобится:

Опять некое количество секунд :

Разделим секунды на «3600» и применим к результату функцию «floor», которая округлит полученное число в меньшую сторону к ближайшему целому:

Умножаем количество часов на 3600.

И отнимаем от первоначального количества секунд.

Код php перевод секунд в целые часы и остаток секунд

$seconds = 4150;
$hour_whole = floor($seconds/3600) ;
$remains_seconds = $seconds — ($hour_whole *60);
echo ‘Целых часов :
‘ . $hour_whole;
echo ‘Остаток секунд :
‘ . $remains_seconds ;
?>

Результат работы кода php «перевод секунд в целые часы и остаток секунд»

Если секунд не хватает на целый час?

Давайте предположим, что секунд не хватает на полный час?

Как же будет работать выше предложенный код php, который переводит секунды в часы, для этого нам понадобится:

Условие if, по которому вы можете проверять любое количество возможных вариантов — это и называется программированием!

Сверху мы представили код, который будет изначально заточен по то, что секунд явно более 3600 секунд. Поэтому пишем условие if, в котором проверяем количество секунд более или равно 3600, то будет выполняться код из верхнего пункта:

$seconds = 2150;
if($seconds >=3600)
$hour_whole = floor($seconds/3600) ;
$remains_seconds = $seconds — ($hour_whole *60);
echo ‘Целых часов :
‘ . $hour_whole;
echo ‘Остаток секунд :
‘ . $remains_seconds ;
>

А если менее 3600, то к выше приведенному коду добавляем «else»

else
echo ‘Целых часов : 0
‘;
echo ‘Остатка секунд тоже нет, поскольку мы ничего не делали. всего секунд :
‘ . $seconds;
echo ‘Если мы разделим количество секунд’.$seconds.’ на 3600, то получим часы в десятичных дробях :
‘ . ($seconds/3600);
>

Код перевода секунд в часы

$remains_seconds = $seconds — ($hour_whole *60);

echo ‘Целых часов :
‘ . $hour_whole;

echo ‘Остаток секунд :
‘ . $remains_seconds ;

echo ‘Остатка секунд тоже нет, поскольку мы ничего не делали. всего секунд :
‘ . $seconds . ‘
‘;

echo ‘Если разделим секунды ‘.$seconds.’ на 3600, то получим часы в десятичных дробях :
‘ . ($seconds/3600);

Пример работы код перевода секунд в часы

Давайте выведем собранный код «перевода секунд в часы» прямо здесь:

Целых часов : 0
Остатка секунд тоже нет, поскольку мы ничего не делали. всего секунд :
2150
Если разделим секунды 2150 на 3600, то получим часы в десятичных дробях:
0.59722222222222

Перевести секунды в часы + в минуты + в дни

На основе предыдущего пунта напишу функцию, которая будет «Переводить секунды в часы + в минуты + в дни«(скачать в начале страницы в навигаторе по странице.)

В качестве аргумента помещаем количество секунд, которое требуется перевести. Например. можно, в качестве примера поместить произведение : 24 * 3600 = «количество секунд в 1 дне. «

Источник

Оцените статью