如何使用angularJS将年/月/日添加到当前日期

时间:2014-11-10 09:31:35

标签: angularjs

我是angularJS的新手,现在我想如何从当前日期添加年份。

让我说我可以获得用户DOB,我想添加年份+ 1.

我尝试过使用

   $scope.userdob = $rootScope.user.dob;
   $scope.userdob.add(1,'years');

但它不起作用。

有人可以通过示例帮助我了解这个逻辑吗?

TIA ...,

3 个答案:

答案 0 :(得分:2)

您应该使用.setDate()函数来增加日期。 我在这里创建了一个角度示例http://codepen.io/heshamelghandour/pen/WwodMP

答案 1 :(得分:1)

看起来$rootScope.user.dob是来自moment库的moment.js的实例。我认为你的主要问题是当你改变这个实例时,angular的变化检测无法检测到。因为实例保持不变,但内部基础日期值确实发生了变化。因此,我建议:

$scope.userdob = $rootScope.user.dob.clone().add(1,'years').valueOf();

这样,angular将获得一个常规的JavaScript Date对象而不是一个片刻实例,它的更改检测将正常工作。

仅供参考,您可以使用标准的javascript Date实例完成相同的操作:

var userdob = new Date();
userdob.setYear(userdob.getFullYear() + 1)

将年份推进1。

答案 2 :(得分:-1)

使用.setDate()功能增加天数,而不是+1天,并添加+365天,它会在1年后为您提供日期。