[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: перевод секунд в минуты
feodal24
Друзья, подскажите, как реализовать, перевод секунд с десятой дробью в формат мм:cc:d и если число большое то так чч:мм:cc:d
d - десятая доля

пример 1359,8 -> 22:39.8
4336,4 -> 01:01:12.4

Спасибо большое.

p.s. Код не прошу, прошу наводку в каком направлении - рыть)



Спустя 8 часов, 44 минуты, 8 секунд (13.11.2009 - 09:15) olgatcpip написал(а):
Дай, Бог, логики!

Начнем. если не верить тому, что у тебя в теме написано (4336,4 -> 01:01:12.4), то я бы считала так

это не код а примерный алгоритм.

$sec=4336,4; // секунд
// в 1омчасе 3600 секунд

$h=$sec/3600; //= 1,204... получаецелую часть от деления = 1
$x = 1*3600;
$sec_1=4336,4-3600; // = 736,4 отняли час
// теперь нужно выяснить сколько минут в $sec_1
// в 1 минуте 60 секунд

$m = $sec_1/60; // = 12,273.... ,берем целую часть = 12
$x=12*60; // = 720
$sec_2 = 736,4 - 720; // = 16,4 - и это уже секнд берем целую часть и получаем
$s = 16;
// и на мой взгляд 4 - это минуты
$min = 4;


Примечание:
1 - проверить на знакомых числах (я не проверяла)
2 - прикуть, что делать с таким числом $sec=4336,83;

Спустя 6 минут, 21 секунда (13.11.2009 - 09:21) Romms написал(а):
вот основные функции которые тебе помогут
floor(a/60); //округливает число к меньшему значени, в даном случае
a=fmod(a,60); //остача от деления


Я рекомендирую тебе сделать так
a=1359,8;
m=floor(a/60); // = 22;
a=fmod(a,60); // = 39,8;
s=ceil(a); // = 39; округливает к меньшому числу
ms=(a-s);

if -10<ms then
ms=ms*100;

if 0<ms then
ms=ms*10;



Спустя 38 минут, 16 секунд (13.11.2009 - 09:59) twin написал(а):
Любопытно было решить задачу штатными функциями для работы с датами и временем.
Вот что вышло на вскидку:
function format_time($time)
{
$tm = explode(',', $time);
$shift = date('Z');
$format = ($tm[0] >= 3600)?'h:i:s':'i:s';
return empty($tm[1])?date($format, $tm[0] - $shift):date($format, $tm[0] - $shift) .'.'. $tm[1];
}


echo format_time('4336,4');

Спустя 3 дня, 20 часов, 25 минут, 26 секунд (17.11.2009 - 06:25) feodal24 написал(а):
Друзья, всем "преогромнейшее" спасибо. Советы Ваши очень помогли.

Спустя 13 минут, 54 секунды (17.11.2009 - 06:39) twin написал(а):
Почему в кавычках? biggrin.gif
Быстрый ответ:

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