2011-03-18 99 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