javascript - 如何在当前日期之前获得 30 天?

标签 javascript jquery

我有一个开始日历输入框和一个结束日历输入框。我们希望默认在当前日期前 30 天开始日历输入框,并在当前日期之前设置结束日历输入框。这是我的日期变量。

var today = new Date(),
    dd    = today.getDate(),
    mm    = today.getMonth(),
    yyyy  = today.getFullYear(),
    month = ["January", "February", "March",
        "April", "May", "June", "July", "August",
        "September", "October" "November", "December"],
    startdate = month[mm] + ", " + yyyy.toString();

结束日期类似于 var enddate = startdate - 30; 显然这是行不通的。

因此,如果当前日期是 2011 年 12 月 30 日,我希望开始日期为 2011 年 12 月 1 日。

编辑:我的问题得到了回答......有点。 Date.today();Date.today().add(-30); 有效,但我需要格式为 2012 年 1 月 13 日的日期。不是 2012 年 1 月 13 日星期五 10:48:56 GMT -055 (EST)。有帮助吗?

更多编辑:截至撰写本文时是 2018 年。只需使用 Moment.js .这是最好的。

最佳答案

要从 JS 日期对象中减去天数,您可以使用 setDate() 方法以及开始计算的日期。这将以整数形式返回纪元时间戳,因此要将其转换为日期,您需要再次将其提供给 Date() 对象构造函数。最后的示例如下所示:

var today = new Date();
var priorDate = new Date(new Date().setDate(today.getDate() - 30));

console.log(today)
console.log(priorDate);

关于javascript - 如何在当前日期之前获得 30 天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842732/

相关文章:

javascript - 添加额外年份时,将 php 日期添加到 JS 函数中不起作用

jquery - 我如何让 FireFox 正确响应 jquery .click 事件?

JQuery 获取父类中的类

javascript - 将 flash 添加到 html 页面以与 Jquery 一起使用的最简单方法是什么?

javascript - 如何使用 css 或 javascript 为同一类添加不同的 css?(已编辑)

javascript - 将范围限制为仅在 Google 图表中显示 x 个月

javascript - 有声音的新条目时的php通知

javascript - measureText() 制表符

javascript - 如何使用 Ember.js 显示(在 View 中)列表子集?

jquery - jQuery-鼠标悬停时声音无法正常工作