- Секунды в дни-часы-минуты (PHP)
- Пример
- Результат
- Послесловие
- Категории
- Читайте также
- Комментарии
- Вход на сайт
- Социальные сети
- Секунды в минуты, часы, дни
- Результат в массиве
- Результат:
- Вывод строкой
- Время час минута секунда php
- User Contributed Notes
- time
- Parameters
- Return Values
- Examples
- Notes
- See Also
- User Contributed Notes 1 note
Секунды в дни-часы-минуты (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 обновилась, пользователем был обнаружен баг, в результате которого возвращались неверные данные.
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
Секунды в минуты, часы, дни
Две 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
На этой странице описаны форматы даты/времени в BNF-подобном синтаксисе, которые понимает парсер функций: DateTimeImmutable , DateTime , date_create() , date_create_immutable() и strtotime() .
Чтобы отформатировать объекты DateTimeImmutable и DateTime , обратитесь к документации метода DateTimeInterface::format() .
Описание | Формат | Примеры |
---|---|---|
frac (дробная часть) | . 6+ | «.21342», «.85» |
hh (часы в 12-часовом формате) | «0»?9 | «1»2 | «04», «7», «12» |
HH (часы в 24-часовом формате) | [01]8 | «2»2 | «04», «07», «19» |
meridian (Ante meridiem или Post meridiem) | [AaPp] .? [Mm] .? [\0\t ] | «A.m.», «pM», «am.» |
MM (минуты) | 29 | «00», «12», «59» |
II (секунды) | 29 | «00», «12», «59» |
space (символ пробела или табуляции) | [ \t] | |
tz (часовой пояс) | «(«? [A-Za-z] «)»? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | «CEST», «Europe/Amsterdam», «America/Indiana/Knox» |
tzcorrection (числовое значение смещения часового пояса) | «GMT»? [+-] hh «:»? MM ? | «+0400», «GMT-07:00», «-07:00» |
Описание | Формат | Примеры |
---|---|---|
Только часы (с Ante meridiem или Post meridiem) | hh space ? meridian | «4 am», «5PM» |
Часы и минуты (с Ante meridiem или Post meridiem ) | hh [.:] MM space ? meridian | «4:08 am», «7:19P.M.» |
Часы, минуты и секунды (с Ante meridiem или Post meridiem ) | hh [.:] MM [.:] II space ? meridian | «4:08:37 am», «7:19:19P.M.» |
MS SQL (Часы, минуты, секунды и дробная часть с Ante meridiem или Post meridiem) | hh «:» MM «:» II [.:] 7+ meridian | «4:08:39:12313am» |
Описание | Формат | Примеры |
---|---|---|
Часы и минуты | ‘t’? HH [.:] MM | «04:08», «19.19», «T23:43» |
Часы и минуты (без двоеточия-разделителя) | ‘t’? HH MM | «0408», «t1919», «T2343» |
Часы, минуты и секунды | ‘t’? HH [.:] MM [.:] II | «04.08.37», «t19:19:19» |
Часы, минуты и секунды (без двоеточия-разделителя) | ‘t’? HH MM II | «040837», «T191919» |
Часы, минуты, секунды и часовой пояс | ‘t’? HH [.:] MM [.:] II space ? ( tzcorrection | tz ) | «040837CEST», «T191919-0700» |
Часы, минуты, секунды и дробная часть | ‘t’? HH [.:] MM [.:] II frac | «04.08.37.81412», «19:19:19.532453» |
Сведения о часовом поясе | tz | tzcorrection | «CEST», «Europe/Amsterdam», «+0430», «GMT-06:00» |
User Contributed Notes
time
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).
Note:
Unix timestamps do not contain any information with regards to any local timezone. It is recommended to use the DateTimeImmutable class for handling date and time information in order to avoid the pitfalls that come with just Unix timestamps.
Parameters
This function has no parameters.
Return Values
Returns the current timestamp.
Examples
Example #1 time() example
The above example will output something similar to:
Notes
Timestamp of the start of the request is available in $_SERVER[‘REQUEST_TIME’] .
See Also
- DateTimeImmutable
- date() — Format a Unix timestamp
- microtime() — Return current Unix timestamp with microseconds
User Contributed Notes 1 note
time() gives the timestamp of Greenwich Mean Time (GMT) which is defined as the official time for the whole earth. You get the local time by adding the time zone offset to this timestamp.
- Date/Time Functions
- checkdate
- date_add
- date_create_from_format
- date_create_immutable_from_format
- date_create_immutable
- date_create
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse_from_format
- date_parse
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- date
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- strtotime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get