Javascript时刻-在一年过渡时减去月份

标签 javascript momentjs

我在我的 javascript 应用程序中使用了 moment,我的代码如下所示(在底部) 当 vm.reportMonth 为 1(一月)且 vm.reportYear 为例如2017 年,调用函数 oneMonthBack 时 previousDate 应该是 2016 年 12 月,但实际上仍然是 2017 年 1 月。 我做错了什么?

function oneMonthBack() { 
    var currentDate = moment().set('month', vm.reportMonth).set('year', vm.reportYear);
    var previousDate = currentDate.subtract(1, 'months');
    var month = previousDate.get('month');
    var year = previousDate.year();
    vm.reportMonth = month;
    vm.reportYear = year;

最佳答案

我认为减法函数是直接作用于currentDate值,不需要将返回值赋给previousDate:

var currentDate = moment().set('month', vm.reportMonth).set('year', vm.reportYear);
currentDate.subtract(1, 'months');
var month = currentDate.get('month');

关于Javascript时刻-在一年过渡时减去月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518177/

相关文章:

javascript - 如何构建在非全局区域设置中工作的 'moment' 函数?

javascript - moment.js 将东部夏令时间转换为 UTC?

javascript - 矩减法的不一致

javascript - JQuery - 将字符串转换为对象并添加 "click"事件在模块模式中不起作用

javascript - 返回长度为 5 的空白数组

javascript - Device.uuid 插件通知不显示 cordova iOS 应用程序

javascript - 使用 .calendar() 方法时,moment.js 格式日期时间中的错误不起作用

c# - Breeze.js 和 TimeSpan ISO 文字

javascript - CoffeeScript 中的 {bar}=foo 声明语法是什么?

javascript - 单张 map 进度条