3

我有 JavaScript 日、月和年。我需要我的一天是 2 位数,我的月份也是 2 位数,年份也是 4 位数。

例如。如果月份是7它应该给我字符串为'07'. 如果是,12那么它应该返回'12'

我用谷歌搜索它,但我只发现toFixedand toPrecision,两者都有不同的功能。我该如何格式化?

4

3 回答 3

10

你可以这样做...

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

另外,请记住,月份是0基于的,所以你可能想要这个......

mth = ("0" + ++mth).slice(-2);
于 2012-06-02T17:29:13.357 回答
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()

于 2012-06-02T17:05:47.940 回答
2

如果您正在寻找比简单的零填充功能更强大的功能,您可能想查看 sprintf Javascript 库。

http://www.diveintojavascript.com/projects/javascript-sprintf

Underscore.string 也有一个实现。

https://github.com/edtsech/underscore.string

于 2012-06-02T17:48:47.193 回答