使用javascript获取现有日期前x天的日期

时间:2015-11-10 17:22:55

标签: javascript angularjs date

我的Angular应用程序中有一个日期值,存储在本地存储中。

如果我执行代码

$scope.selectedDate = localStorage.getItem('selDate');

它将返回(当前)' 11-4-2015'

我想要的是它将该日期恢复为85天。

我试过了:

var hearingOffset = 85;
var selectedDate = new Date(localStorage.getItem('selDate').replace(/-/g, '/') - hearingOffset);

我得到"无效日期"

我该怎么做才能在这里找到合适的约会对象?

2 个答案:

答案 0 :(得分:2)

moment.js可以轻松完成此任务。

moment(date).subtract(85, 'days').toDate()

答案 1 :(得分:2)

希望这会有所帮助

var d = new Date(); // today!
var x = 85; // go back 85 days!
d.setDate(d.getDate() - x);

获得日期后,您可以将其转换为所需格式

修改

在减法时,我们将以毫秒为单位得到结果,因此必须转换为日期。

var d = new Date('11-4-2015');
var x = 85; // go back 85 days!
var y=d.setDate(d.getDate() - x);
var date = new Date(y);
document.getElementById('dateHolder').innerHTML=date;

Updated Fiddle