跨年第一贴:求转换成 小时:分钟:秒数的函数,小时数大于24,
double类型转换为字符串,有没有简化的代码或函数?
比如得出的结果是
1.????:MM:SS
255:59:09
255小时59分9秒
2.第??天?点?分
[解决办法]
可以自己试试。
[解决办法]
某个时间点可以直接用DateTimeToStr,
时间段可以使用Format和日期函数进行拼接
[解决办法]
- Delphi(Pascal) code
function Func1(ADate: double): AnsiString;const SecsPerHour = SecsPerMin * MinsPerHour;var Hours,Mins,Secs: LongWord;begin Secs := Trunc(ADate * SecsPerDay); Hours := Secs div SecsPerHour; Secs := Secs mod SecsPerHour; Mins := Secs div SecsPerMin; Secs := Secs mod SecsPerMin; Result := Format('%d:%d:%d',[Hours,Mins,Secs]);end;function Func2(ADate: double): AnsiString;var Days,Hours,Mins: LongWord;begin Mins := Trunc(ADate * MinsPerDay); Days := Mins div MinsPerDay; Mins := Mins mod MinsPerDay; Hours := Mins div MinsPerHour; Mins := Mins mod MinsPerHour; Result := Format('第%d天%d点%d分',[Days,Hours,Mins]);end;