jQuery 自定义日期功能无法正常使用?

jQuery custom date function not working properly?

我创建了这个 jQuery,return 我的日期格式:YYYY-MM-DD

这是我的代码:

var d = new Date();
var day = d.getDate();
day = day.length > 1 ? day : '0' + day;
var month = d.getMonth() + 1;
month = month.length > 1 ? month : '0' + month;
var year = d.getFullYear();
var date = (year+"-"+month+"-"+day);    

问题出在变量"day"中:它假设return我的天数,例如如果月中的天是“9”,它应该return我09 (2015-01-09);如果月中的第几天是“12”,它应该 return me 12 (2015-01-12)。但是我的代码 return 以“12”日为例:2015-01-012 - 它置零,但它不应该,我不知道为什么置零...

这是 jsfiddle:http://jsfiddle.net/b6afckx5/

非常感谢您的帮助

day 是一个数字,不是字符串,它没有 length 属性,所以 day.length 是未定义的。您需要先将其转换为字符串:

var day = d.getDate().toString();

这个月也一样:

var month = (d.getMonth() + 1).toString();

天是数字,它没有长度 属性。 您应该检查它是否小于 10 以添加 0。

day = day < 10 ? '0' + day : day
var day = d.getDate();
day = (day >= 10)? day : '0' + day;

JS Fiddle

长度不接受。你的代码可以是这样的:

var d = new Date();
var day = d.getDate();
day = day >9 ? day: '0' + day  ;
var month = d.getMonth() + 1;
month = month < 10 ? '0' + month : month;
var year = d.getFullYear();
var date = (year+"-"+month+"-"+day);    

$(function(){       
    $('#date').append(date);
});