实际上,我遇到了一个关于约会的问题。
我想减去并加上反应原生的日期。
是否有任何解决方案。
我使用过Moment.js,但错误发生在其中所以请帮助我。
提前谢谢
答案 0 :(得分:5)
查看以下使用时刻添加和减去日,月和日的工作示例:
日期
let tomorrow = new Date();
tomorrow = moment(tomorrow).add(1, 'day').format('YYYY-MM-DD'); // for specific format
let today = moment(new Date()).format('YYYY-MM-DD');
let tomorrow = new Date();
tomorrow = moment(tomorrow).add(1, 'day').format('YYYY-MM-DD');
月份
moment(currentMonth).add(1, 'month');
moment(currentMonth).subtract(1, 'month');
日期
let now = "14/11/2016";
let then = "03/12/2017";
let diff = moment(now,"DD/MM/YYYY").diff(moment(then,"DD/MM/YYYY"));
let duration = moment.duration(diff);
let result = duration.format("hh:mm:ss");
请参阅详细日期差异:https://stackoverflow.com/a/18624295/6592263
编辑(未经测试)
获得月份
let d = moment(new Date());
d.month(); // month number
d.format('ddd MMM DD YYYY');
获得年度
let d = moment(new Date());
d.year() // year
答案 1 :(得分:1)
如果要获取今天的日期并添加年,月或日,则可以首先创建日期对象,访问相关属性,然后使用它们创建新的日期对象:
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth();
const day = date.getDate();
const c = new Date(year + 1, month, day) // PLUS 1 YEAR
const d = new Date(year, month + 1, day) // PLUS 1 MONTH
const f = new Date(year, month, day + 1) // PLUS 1 DAY
答案 2 :(得分:0)
我的用例是在添加几个月后获得结束日期。无需花费时间即可工作。
function formatDate(date) {
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
return day + ' ' + monthNames[monthIndex] + ' ' + year;
}
function add_months_todate(dt, no_of_month)
{
return new Date(dt.setMonth(dt.getMonth() + no_of_month));
}
start_date = new Date();
end_date = add_months_todate(new Date(), 10);
console.log("START DATE",formatDate(start_date));
console.log("END DATE",formatDate(end_date));
参考:https://www.w3resource.com/javascript-exercises/javascript-date-exercise-43.php