[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: секунды разложить на час,мин,сек
arbuzmaster
Подскажите пожалуйста правильная ли логика?
Задача - разложить секунды на часы,минуты, секунды

$hours=floor($set_seconds/3600 );
$minutes = floor(($set_seconds -$hours*3600)/60 );
$seconds = $set_seconds-$minutes*60-$hours*3600;


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
VeRTak
arbuzmaster

Чем date(); не устраивает?
chee
arbuzmaster, почему не использовать для этого gmdate?


var_dump(explode(':', gmdate('H:i:s', 70)));


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
arbuzmaster
суть в том что в $set_seconds приходит количество секунд а мне нужно их перевести в такой формат

"value":{"hours":'.$hours.',"milliseconds":0,"minutes":'.$minutes.',"seconds":'.$seconds.'}

как это сделать с date или так как я сделал - неправильно ?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
VeRTak
arbuzmaster


$today = date("H:i:s", $set_seconds );
echo $today;


Думаю остальное что надо под себя подпилите, если конечно речь идет о timestamp
arbuzmaster
Цитата (Wind @ 10.10.2015 - 23:48)
arbuzmaster


$today = date("H:i:s", $set_seconds );
echo $today;


Думаю остальное что надо под себя подпилите, если конечно  речь идет о timestamp

set_seconds=3601 - показывает 4ч 0м 1с - не правильно
Мой скрипт показывает 1ч 0м 1с - правильно
Получается что date прибавляет 3 часа - как это исправить?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Вот этот показывает правильно

var_dump(explode(':', gmdate('H:i:s', 3601)));

Спасибо chee
Буду дальше копать!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
VeRTak
Цитата (arbuzmaster @ 11.10.2015 - 00:03)
set_seconds=3601


Цитата (Wind @ 10.10.2015 - 23:48)
если конечно речь идет о timestamp


Я думал у вас секунды в timestamp идут откуда то с бд (ну или не обязательно)
arbuzmaster
опять засада - минуты и секунды нужны без ведущих нулей в date нет таких что делать?
Часы я уже исправил !

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Может оставить так как есть а то что то скрипт увеличивается в размерах? biggrin.gif

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
VeRTak
arbuzmaster

Мне кажется вы не в ту сторону движетесь, откуда вообще и каким образом берется $set_seconds? т.е как вы вообще получаете 3601 секунду, каким образом?
VeRTak
arbuzmaster

Ну а вообще то можно и просто умножить на один да будет вам счастье ;)

Пример

$set_seconds = 3601;
list($hours,$minutes,$seconds) = explode(':', gmdate('H:i:s', $set_seconds));
echo 'Прошло: ' . $hours*1 . ' час ' . $minutes*1 . ' минут ' . $seconds*1 . ' Секунда';


Результат

Прошло: 1 час 0 минут 1 Секунда


И все таки мне кажется вы не в ту сторону движетесь, можно куда проще все сделать. Но я не знаю всю суть и возможно ошибаюсь! :)
kaww
Если больше 86400 секунд, то вариант с date будет работать неправильно, можно воспользоваться решением http://stackoverflow.com/questions/3534533...#answer-3534705
chee
kaww, это нужно когда пределом являются часы, в варианте с gmdate всё это можно решить отображением дней. Но так, да, дельное замечание.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
arbuzmaster
Цитата (Wind @ 11.10.2015 - 01:27)
arbuzmaster

Мне кажется вы не в ту сторону движетесь, откуда вообще и каким образом берется $set_seconds? т.е как вы вообще получаете 3601 секунду, каким образом?

$set_seconds я сам их ввожу 3601 - просто так для проверки! Задача - привести все медиа плееры к одному формату Так как в большинстве используется в секундах то и привожу к секундам, а XMBC - не принимает секунды : только час мин сек или проценты. Проценты - не вариант так как временной промежуток 1% очень большой!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.