我有JavaScript日,月和年。我需要我的一天是2位數,我的月份也是2位數,年份是4位數。如何在JavaScript中將7格式化爲'07'字符串?
例如,如果月是7
它應該給我字符串作爲'07'
。如果是12
那麼它應該返回'12'
。
我爲它谷歌,但我只發現toFixed
和toPrecision
,它們都有不同的功能。我如何格式化它?
我有JavaScript日,月和年。我需要我的一天是2位數,我的月份也是2位數,年份是4位數。如何在JavaScript中將7格式化爲'07'字符串?
例如,如果月是7
它應該給我字符串作爲'07'
。如果是12
那麼它應該返回'12'
。
我爲它谷歌,但我只發現toFixed
和toPrecision
,它們都有不同的功能。我如何格式化它?
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()
爲什麼需要'parseInt'? –
如果你使用'parseInt()',使用radix:'parseInt(month,10)'。 –
另外,三元運算符語法是'a? b:c',你輸入'a:b:c'。我試圖發佈一個編輯,但它說我的編輯太短。 :P –
你可以做這樣的...
mth = ("0" + mth).slice(-2);
另外,請記住,月份是基於0
,使你可能想要這個...
mth = ("0" + ++mth).slice(-2);
+ 1爲聰明...不知道這是最易讀的,但。 –
你可能想看看一個sprintf庫for Javascript,如果你正在尋找比簡單的零填充功能更強大的功能。
http://www.diveintojavascript.com/projects/javascript-sprintf
Underscore.string有一個實現爲好。
(已在我的評論中鏈接到sprintf,但無論如何+1。) –
是不是就像一個單行函數寫?儘管有一個[sprintf for JavaScript](http://www.diveintojavascript.com/projects/javascript-sprintf)。 –
sprintf是我正在尋找的。謝謝。 –
我得到sprintf沒有定義。這是所有瀏覽器都支持的嗎? –