jQuery自定义日期功能不能正常工作?

时间:2015-01-12 10:58:14

标签: jquery date

我创建了这个jQuery,它以格式返回日期: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);    

问题在于变量“天”:它用来返回我的日期号码,例如如果每月的日期是“9”,它应该还给我09(2015-01-09);如果每月的日期是“12”,则应该返回12(2015-01-12)。但是我的代码在“12”日的例子中给我回复:2015-01-012 - 它放零,但它没有,我不知道为什么把这个归零......

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

真的感谢您的帮助

4 个答案:

答案 0 :(得分:1)

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

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

同样的月份:

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

答案 1 :(得分:1)

day是它没有长度属性的数字。 您应该检查它是否小于10以前置0。

day = day < 10 ? '0' + day : day

答案 2 :(得分:1)

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

<强> JS Fiddle

答案 3 :(得分:1)

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

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);
});