我已尝试过这段代码,但它以错误的格式提供了日期:
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
randomDate(new Date(2012, 0, 1), new Date())
返回这样的日期
Fri Dec 16 1988 06:20:22 GMT+0000 (GMT Standard Time)
我如何将其更改为" yyyy-mm-dd"格式?所以例如
1985-09-22
答案 0 :(得分:3)
function randomDate(start, end) {
var d = new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('-');
}
答案 1 :(得分:0)
这里有两个选项:
date.getMonth()
和类似方法)自行构建日期字符串。答案 2 :(得分:0)
使用以下代码:
var date =randomDate(new Date(2012, 0, 1), new Date());
var formattedDate =date.getFullYear()+'-' + (date.getMonth()+1) + '-'+date.getDate();
答案 3 :(得分:0)
如果您不需要通用功能,请将其放在一起
var d = new Date();
alert(
("00" + (d.getMonth() + 1)).slice(-2) + "/" +
("00" + d.getDate()).slice(-2) + "/" +
d.getFullYear() + " " +
("00" + d.getHours()).slice(-2) + ":" +
("00" + d.getMinutes()).slice(-2) + ":" +
("00" + d.getSeconds()).slice(-2)
);
答案 4 :(得分:0)
您需要将javascript日期对象解析为您需要的格式。你可以这样做:
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())).toISOString().slice(0,10);
}
randomDate(new Date(2012, 0, 1), new Date())