Расширяя ответ Брэда, я обернул его в функцию, которая определяет, если время больше часа, и автоматически показывает часы, если это так.В противном случае, если это меньше часа, он не показывает часы.Он также имеет необязательный параметр, определяющий, показывать ли ведущий ноль в часах и минутах, в зависимости от ваших предпочтений (например, 03:06:32
против 3:6:32
).Это делает его немного более понятным для человека.
function SecsToTimeStr(const Secs: Integer; const LeadingZero: Boolean = False): String;
begin
if Secs >= SecsPerHour then begin
if LeadingZero then
Result := FormatDateTime('hh:nn:ss', Secs / SecsPerDay)
else
Result := FormatDateTime('h:n:ss', Secs / SecsPerDay)
end else begin
if LeadingZero then
Result := FormatDateTime('nn:ss', Secs / SecsPerDay)
else
Result := FormatDateTime('n:ss', Secs / SecsPerDay)
end;
end;
Однако существует множество различных предпочтений при отображении периода времени, который решать вам.Я не буду описывать все эти возможные пути здесь.