Chrome mon. dd,yyyy JavaScript转换日期函数不工作[重复]

6yt4nkrj  于 2023-06-19  发布在  Go
关注(0)|答案(1)|浏览(102)

此问题已在此处有答案

Why does Date.parse give incorrect results?(11个回答)
4天前关闭。
我试图将gen. 02, 2023日期转换为2023-01-02,但我的函数formatDate:

function formatDate(date) {
    var d = new Date(date),
        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('-');
}

好像不能正常工作。你能帮帮我吗?
看起来我只收到NaN-NaN-NaN作为值。

iaqfqrcu

iaqfqrcu1#

您使用getMonth() method来获取月份号,但月份号是zero-based。所以,1月的月份数是0,而不是1。在将月数传递给formatDate() function.之前,需要从月数中减去1

function formatDate(date) {
    var d = new Date(date),
        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('-');
}

相关问题