有没有一种简单的方法来获取olain JavaScript日期(例如今天)并返回X天?
例如,如果我想计算今天前5天的日期。
有没有一种简单的方法来获取olain JavaScript日期(例如今天)并返回X天?
例如,如果我想计算今天前5天的日期。
当前回答
它是这样的:
var d = new Date(); // today!
var x = 5; // go back 5 days!
d.setDate(d.getDate() - x);
其他回答
设置日期时,日期转换为毫秒,因此需要将其转换回日期:
这种方法还考虑了新年变化等因素。
function addDays( date, days ) {
var dateInMs = date.setDate(date.getDate() - days);
return new Date(dateInMs);
}
var date_from = new Date();
var date_to = addDays( new Date(), parseInt(days) );
尝试以下操作:
var d = new Date();
d.setDate(d.getDate()-5);
注意,这将修改日期对象并返回更新日期的时间值。
var d=新日期();document.write('今天是:'+d.toLocaleString());d.setDate(d.getDate()-5);document.write('<br>5天前是:'+d.toLocaleString());
使用MomentJS。
函数getXDaysBeforeDate(referenceDate,x){return moment(referenceDate).减去(x,'day').格式('MMMM Do YYYY,h:mm:ss a');}var yourDate=新日期();//就说今天吧var valueOfX=7;//假设7天前console.log(getXDaysBeforeDate(yourDate,valueOfX));<script src=“https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js“></script>
对我来说,所有的组合都能很好地使用下面的代码snipplet,该片段用于Angular-2实现,若需要增加天数,则传递正数,若需要减去负数,则传递负数
function addSubstractDays(date: Date, numberofDays: number): Date {
let d = new Date(date);
return new Date(
d.getFullYear(),
d.getMonth(),
(d.getDate() + numberofDays)
);
}
第一个参数是开始日期,第二个参数是您希望增加或减少到该日期的天数
示例(1)-pass-1将日期减少一天
示例(2)-通过1将日期增加一天
const EditDay = (date: Date, num: number): Date => {
return new Date(date.getTime() + num * 24 * 60 * 60 * 1000)
}