Javascript日期 - 适用的日期和月份前导0

Har*_*rry 18 javascript date

当日或月小于10时,是否有一种在日或月前添加0的简洁方法:

var myDate = new Date();
var prettyDate =(myDate.getFullYear() +'-'+ myDate.getMonth()) +'-'+ myDate.getDate();
Run Code Online (Sandbox Code Playgroud)

这将输出为:

2011-8-8
Run Code Online (Sandbox Code Playgroud)

我希望它是:

2011-08-08
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 21

不,没有好办法做到这一点.你不得不求助于:

var myDate = new Date();

var year = myDate.getFullYear();

var month = myDate.getMonth() + 1;
if(month <= 9)
    month = '0'+month;

var day= myDate.getDate();
if(day <= 9)
    day = '0'+day;

var prettyDate = year +'-'+ month +'-'+ day;
Run Code Online (Sandbox Code Playgroud)

  • 几个月在"日期"中被归零,因此这将使任何一个月向下移动一个等级(以及在一月的情况下创建无效日期). (2认同)

miv*_*ivk 19

您似乎想要的格式看起来像ISO.所以利用toISOString():

var d = new Date();
var date = d.toISOString().slice(0,10); // "2014-05-12"
Run Code Online (Sandbox Code Playgroud)


Mak*_*leh 6

var myDate = new Date();
var m = myDate.getMonth() + 1;
var d = myDate.getDate();
m = m > 9 ? m : "0"+m;
d = d > 9 ? d : "0"+d;
var prettyDate =(myDate.getFullYear() +'-'+ m) +'-'+ d;
Run Code Online (Sandbox Code Playgroud)

...和一个示例:http : //jsfiddle.net/gFkaP/


Bab*_*med 6

你可以这样尝试

当天:

("0" + new Date().getDate()).slice(-2)
Run Code Online (Sandbox Code Playgroud)

对于月份:

("0" + (new Date().getMonth() + 1)).slice(-2)
Run Code Online (Sandbox Code Playgroud)

对于年份:

new Date().getFullYear();
Run Code Online (Sandbox Code Playgroud)