Delphi-Help

Главная Статьи Аудио Форматирование длительности, заданной в секундах

Форматирование длительности, заданной в секундах

Оцените материал
(0 голосов)


Форматирование длительности, заданной в секундах

Функция, которая может быть полезной. Например, при отображении длительности аудио- или видео-файла.

Привожу код лишь по той причине, что в глобальной сети можно найти много вариантов реализации подобной функции, но в большинстве случаев код ужасен.

А функция на самом деле проста - её реализация помещается в одну строку.

Delphi версия:

function FormatDuration(Seconds: Integer): string;
begin
  Result := Format('%d:%.2d:%.2d', [Seconds div 3600, (Seconds div 60) mod 60, Seconds mod 60]);
end;

Пример использования:

FormatDuration(666);     //0:11:06
FormatDuration(6666);    //1:51:06
FormatDuration(66666);   //18:31:06
FormatDuration(666666);  //185:11:06

Oracle версия:

function format_duration(seconds_ in integer) return varchar2 is
begin
  return  to_char(trunc(seconds_ / 3600))||':'||
          to_char(trunc(seconds_ / 60) mod 60, 'FM00')||':'||
          to_char(seconds_ mod 60, 'FM00');
end;

Пример использования:

select duration_format(666) from dual     -- 0:11:06
select duration_format(6666) from dual    -- 1:51:06
select duration_format(66666) from dual   -- 18:31:06
select duration_format(666666) from dual  -- 185:11:06
Прочитано 4946 раз

Авторизация



Счетчики