javascript - Date() 对象的 setDate() 方法中的负数问题

标签 javascript

在执行日历并绘制前一个月的日子时,我尝试在循环中执行此操作,其中我使用 setDate() 方法,该方法有一些负数作为输入。我所看到的:

let testt = new Date();   //today 1 Feb 2019
    testt.setDate(0);
    console.log( testt.getDate());
    testt.setDate(1);
    console.log( 'after reset='+testt.getDate());

    testt.setDate(-1);
    console.log( testt.getDate());
    testt.setDate(1);
    console.log( 'after reset='+testt.getDate());

    testt.setDate(-2);
    console.log( testt.getDate());
    testt.setDate(1);
    console.log( 'after reset='+testt.getDate());

    testt.setDate(-3);
    console.log( testt.getDate());
    testt.setDate(1);
    console.log( 'after reset='+testt.getDate());

    testt.setDate(-4);
    console.log( testt.getDate());
    testt.setDate(1);
    console.log( 'after reset='+testt.getDate());

我在控制台中看到的内容:

31
"after reset=1"
30
"after reset=1"
28
"after reset=1"
28
"after reset=1"
26
"after reset=1"

我预计日期会同步更改。在控制台中我将看到 31,30,29,28,27 日期 如何解决这个问题?

最佳答案

您没有重置日期。输出完整的日期对象,您会发现每次都在更改月份。这是因为 setDate() 是相对于对象中的当前月份的。您必须完全重置预期输出的日期。

关于javascript - Date() 对象的 setDate() 方法中的负数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54473905/

相关文章:

javascript - 使用 React 和 Semantic Ui 在 Javascript 中处理更改

javascript - 从 Dart 创建 js 对象

javascript - 如何在不使用 "transform"的情况下旋转 div?

javascript - 通过 <img>-tag 注入(inject) javascript

javascript - 下拉选择倒计时 - 不断变化

javascript - 从 Javascript/typescript 对象的非空属性创建一个数组

javascript - 控制程序的流程

javascript - D3.js 在图表之间转换

javascript - 导航 ('/' ) 不导航

javascript - 为什么我无法使用 Typescript/node.js 导入模块?