2011-02-14 16 views
0

如何修復日期以檢索零分鐘/小時?as3:date.getMinutes>如何添加零? (05:09 AM = 5:9 AM)

例如這是上午05點09分>

trace(_date.getHours()+":"+_date.getMinutes()); //5:9 

,但我想05:09而不是5:9 - 所以怎麼加個零?

var _date = new Date(); 

    ... 

    _min = _date.getMinutes(); 

    //fix date: 
       var _str:String = _min.toFixed(1); 
       _min = Number(_str); 

    trace(_date.getHours()+":"+_date.getMinutes()); 

= 5:9 ...... -_-

有什麼不對?

minutes_txt:

回答

5

你可以像格式化字符串= _date.getMinutes()< 10? 「0」+ _date.getMinutes():_date.getMinutes();

這將墊一個零,如果紀要小於10,然後只跟蹤該而不只是_date.getMinutes

+0

mhmm我想,可能有一個更簡單的方法,但沒關係。謝謝。 – mate64 2011-02-15 08:24:22

0

就個人而言,我會寫一個更通用的程序。我已經做了兩個方面:

更傳統的方法:

// Pass in 'value' you want to pad, and 'len' as total length of string 
    // to be returned to you. For example, value=24, len=6 would return 000024. 
    public static function padIntWithLeadingZeros2(value:int, len:uint):String 
    { 
     var paddedValue:String = value.toString(); 

     if (paddedValue.length < len) 
     { 
      for (var i:int = 0, numOfZeros:int = (len - paddedValue.length); i < numOfZeros; i++) 
      { 
       paddedValue = "0" + paddedValue; 
      } 
     } 

     return paddedValue; 
    } 

我做的自己的風格:

// Pass in 'value' you want to pad, and 'len' as total length of string 
    // to be returned to you. For example, value=24, len=6 would return 000024. 
    public static function padIntWithLeadingZeros(value:int, len:uint):String 
    { 
     var paddedValue:String = value.toString(); 

     if (paddedValue.length < len) 
     { 
      var leadingZeros:String = "0000000000"; 
      paddedValue = leadingZeros.substring(0, (len - paddedValue.length)) + paddedValue; 
     } 

     return paddedValue; 
    } 

原來,一個來講是其他高效流逝的時間來執行該功能。所以,這只是一個偏好問題。

R. Grimes