获取随机日期是“;yyyy-mm-dd”;格式Javascript

Get random date is "yyyy-mm-dd" format Javascript

本文关键字:yyyy-mm-dd 格式 Javascript 随机 日期 获取      更新时间:2023-09-26

我试过这个代码,但它给我的日期格式错误:

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

尝试使用此代码,这将对您有所帮助

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

您需要将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())

这里有两个选项:

  • 通过连接日期的特定部分(例如,使用date.getMonth()和类似方法(,自行构建日期字符串
  • 使用指定的库设置日期格式,例如Moment.js

使用以下代码:

var date =randomDate(new Date(2012, 0, 1), new Date());
var formattedDate =date.getFullYear()+'-' + (date.getMonth()+1) + '-'+date.getDate();

如果您不需要通用函数,只需将其放在中即可

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