有没有一种简单的方法来获取olain JavaScript日期(例如今天)并返回X天?
例如,如果我想计算今天前5天的日期。
有没有一种简单的方法来获取olain JavaScript日期(例如今天)并返回X天?
例如,如果我想计算今天前5天的日期。
当前回答
一些现有的解决方案很接近,但并不完全符合我的要求。此函数可处理正值或负值,并处理边界情况。
function addDays(date, days) {
return new Date(
date.getFullYear(),
date.getMonth(),
date.getDate() + days,
date.getHours(),
date.getMinutes(),
date.getSeconds(),
date.getMilliseconds()
);
}
其他回答
我创建了一个日期操作函数。你可以加或减任何天数、小时、分钟。
function dateManipulation(date, days, hrs, mins, operator) {
date = new Date(date);
if (operator == "-") {
var durationInMs = (((24 * days) * 60) + (hrs * 60) + mins) * 60000;
var newDate = new Date(date.getTime() - durationInMs);
} else {
var durationInMs = (((24 * days) * 60) + (hrs * 60) + mins) * 60000;
var newDate = new Date(date.getTime() + durationInMs);
}
return newDate;
}
现在,通过传递参数来调用此函数。例如,这里有一个函数调用,用于从今天起3天内获取日期。
var today = new Date();
var newDate = dateManipulation(today, 3, 0, 0, "-");
我喜欢以下内容,因为它是一行。DST变化并不完美,但通常足以满足我的需求。
var fiveDaysAgo = new Date(new Date() - (1000*60*60*24*5));
设置日期时,日期转换为毫秒,因此需要将其转换回日期:
这种方法还考虑了新年变化等因素。
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) );
您可以使用Javascript。
var CurrDate = new Date(); // Current Date
var numberOfDays = 5;
var days = CurrDate.setDate(CurrDate.getDate() + numberOfDays);
alert(days); // It will print 5 days before today
对于PHP,
$date = date('Y-m-d', strtotime("-5 days")); // it shows 5 days before today.
echo $date;
希望它对你有所帮助。
这将给你最后10天的结果110%工作,你不会得到任何类型的问题
var date = new Date();
var day=date.getDate();
var month=date.getMonth() + 1;
var year=date.getFullYear();
var startDate=day+"/"+month+"/"+year;
var dayBeforeNineDays=moment().subtract(10, 'days').format('DD/MM/YYYY');
startDate=dayBeforeNineDays;
var endDate=day+"/"+month+"/"+year;
你可以根据你的要求改变减去天数