我有一个开始日历输入框和一个结束日历输入框。我们希望默认在当前日期前 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/