2011-03-18 25 views
2

該算法必須採用剩餘秒數(例如2005)的Int值,然後轉換並返回剩餘小時數,分鐘數和秒數的「0填充字符串」(前綴。02:35:15)。flex倒數算法

我有另一個事件處理程序,將在幾秒鐘內調用上述算法更改(倒數)。

+1

您能向我們展示一些您迄今嘗試過的代碼嗎? – bedwyr 2011-03-18 15:04:30

+2

這個網站是一個可以回答問題的地方,而不是讓人們爲你工作的地方。 Show是您迄今嘗試過的代碼,然後告訴我們您遇到了什麼問題,我們可能會提供幫助。 – JeffryHouser 2011-03-18 15:11:09

回答

2

這裏是您的轉換方法的實現:

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

使用divmod和你在一個小時/分多少秒知識/秒以提出每個分組。然後你可以使用if語句(或?:運算符)填充零,或者只是使用Dunaril的代碼,我不想只給你代碼,而沒有先嚐試過某些東西,這與我的精神背道而馳:P

+0

我同意這不是用於提高他的編程技能的最佳方式,但是當我看到問題時,我看到了片段,因此我認爲這對每個人來說都會更快:) – Dunaril 2011-03-18 16:22:20

+1

這就是相當好吧,我並不是說它是對你或任何事情的一種抨擊,我喜歡它能夠幫助提供答案(特別是在非常基本的問題上),但是我只是把它留在這裏,因此OP希望意識到它們不應該繼續這在未來:D – Mike 2011-03-18 17:55:06