гибкий алгоритм обратного отсчета - PullRequest
2 голосов
/ 18 марта 2011

Алгоритм должен принимать Int-значение количества оставшихся секунд (например, 2005), затем преобразовывать и возвращать «0-padded-String» оставшихся часов, минут и секунд (например, 02:35:15).

У меня есть другой обработчик событий, который вызовет вышеуказанное изменение алгоритма в секундах (обратный отсчет).

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Вот реализация для вашего метода преобразования:

public static function Seconds2HHMMSS(Time:Number):String 
    {
        var hours:int =int(int(Time/60)/60);
        var hoursZeroPadding:String = "";
        if (hours<10)
            hoursZeroPadding="0";

        var minutes:int =int(Time/60)%60;
        var minutesZeroPadding:String = "";
        if (minutes<10)
            minutesZeroPadding="0";

        var seconds:int =Time%60;
        var secondsZeroPadding:String = "";
        if (seconds<10)
            secondsZeroPadding="0";

        var result:String =    hoursZeroPadding + hours.toString()
                            + minutesZeroPadding + minutes.toString()
                             + secondsZeroPadding + seconds.toString();
        return result;
    }

Обратное преобразование является более простым:

    public static function HHMMSS2Seconds(Time:String):int 
    {   
        var result:int =   int(Time.substr(0,2))*3600 
                         + int(Time.substr(2,2))*60 
                         + int(Time.substr(4,2));   
        return result;
    }
1 голос
/ 18 марта 2011

Используйте div и mod и свои знания о том, сколько секунд в часе / мин / секунду придет для каждой из группировок.Затем вы можете заполнить нулями оператор if (или оператор?:)

Edit: или просто использовать код Дунарила, я не хотел просто давать вам кодесли вы сначала не попробовали что-то, это противоречит духу ТАК для меня: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...