如何在不更改日期格式(YYYY-MM-DD)的情况下从JS日期中删除1周。
我看到了几个例子但当前的日期。
我尝试了什么:
actual = '2017-04-10';
actual.setDate(actual.getDate() - 7);
感谢。
答案 0 :(得分:2)
您需要先将字符串转换为Date
。
然后,要获取格式YYYY-MM-DD
,您可以使用.toISOString()
并仅保留前10个字符:
var d = new Date('2017-04-10'); // convert string to Date
d.setDate(d.getDate() - 7); // remove 7 days
var str = d.toISOString().slice(0, 10); // format YYYY-MM-DD
console.log(str);

答案 1 :(得分:0)
格式取决于您的操作系统的区域设置以及您在约会时调用的格式方法:
// You first need to turn your string into an actual JavaScript date:
actual = new Date('2017-04-10');
// Then you can use the Date API to modify it:
actual.setDate(actual.getDate() - 7);
// But the formatting of the date is determined by your operating system
// regional settings and the Date formatting method you call as well as
// how you, yourself decide to build your own custom format:
console.log(actual);
console.log(actual.toLocaleTimeString());
console.log(actual.toLocaleDateString());
console.log(actual.toISOString());
console.log(actual.getFullYear() + "-" + (actual.getMonth() + 1) + "-" + actual.getDate());
答案 2 :(得分:0)
您的日期必须是日期对象:
actual = new Date('2017-04-10');
actual.setDate(actual.getDate() - 7);