2012-06-02 50 views
3

我有JavaScript日,月和年。我需要我的一天是2位數,我的月份也是2位數,年份是4位數。如何在JavaScript中將7格式化爲'07'字符串?

例如,如果月是7它應該給我字符串作爲'07'。如果是12那麼它應該返回'12'

我爲它谷歌,但我只發現toFixedtoPrecision,它們都有不同的功能。我如何格式化它?

+1

是不是就像一個單行函數寫?儘管有一個[sprintf for JavaScript](http://www.diveintojavascript.com/projects/javascript-sprintf)。 –

+0

sprintf是我正在尋找的。謝謝。 –

+0

我得到sprintf沒有定義。這是所有瀏覽器都支持的嗎? –

回答

5
var newmonth = month < 10 ? '0' + month : month; // if month is number 
               // else use parseInt(month, 10) 

你也可以做一個函數用於一般用途:

function formatting(target) { 
    return target < 10 ? '0' + target : target; 
} 

您可以使用上面的月份和日子的方法。

,並得到一個4個位數一年你可以使用.getFullYear()

+3

爲什麼需要'parseInt'? –

+7

如果你使用'parseInt()',使用radix:'parseInt(month,10)'。 –

+3

另外,三元運算符語法是'a? b:c',你輸入'a:b:c'。我試圖發佈一個編輯,但它說我的編輯太短。 :P –

8

你可以做這樣的...

mth = ("0" + mth).slice(-2); 

另外,請記住,月份是基於0,使你可能想要這個...

mth = ("0" + ++mth).slice(-2); 
+2

+ 1爲聰明...不知道這是最易讀的,但。 –

相關問題