Dart: секунды в строку вида hh:mm:ss
Задача: преобразовать и отобразить секунды в строку часы-минуты-секунды
Решение:
String TimeLeft(diff){
var timestamp = diff.floor();
var hours = (timestamp / 60 / 60).floor();
var minutes = ((timestamp / 60) - (hours * 60)).floor();
var seconds = timestamp % 60;
if (seconds<0){
seconds=0;hours=0;minutes=0;
}
String hs=hours.toString();
hs=hs.length>1?hs:"0"+hs;
String ms=minutes.toString();
ms=ms.length>1?ms:"0"+hs;
String ss=seconds.toString();
ss=ss.length>1?ss:"0"+ss;
return "$hs:$ms:$ss";
}
Бонусом тоже самое на javascript:
function TimeLeft(diff){
var timestamp = Math.floor(diff);
var hours = Math.floor(timestamp / 60 / 60);
var minutes = Math.floor(timestamp / 60) - (hours * 60);
var seconds = timestamp % 60;
if (seconds<0){seconds=0;hours=0;minutes=0;}
h=("0"+hours).slice(-2);
m=("0"+minutes).slice(-2);
s=("0"+seconds).slice(-2);
};