2017-06-16 10 views
1

私は2017年5月31日のような日付を持っています。この日付では、さらに2日を追加する必要があります。 別の要件、同じ日付のために私は18ヶ月を追加する必要があります。 次のコードを試しました。特定の日付に月と月の両方を追加する方法はありますか?

var rootDate = 31 May,2017; 
var firstDate = new Date(); 
var lastDate = new Date(); 

var tempdate = firstDate.setDate(rootDate.getDate() +2); 
firstDate = $filter('date')(tempdate , "dd MMM, yyyy"); 

var tempDateTwo = lastDate.setDate(rootDate.getMonth() +18); 
secondDate = $filter('date')(tempDateTwo , "dd MMM, yyyy"); 

エラー '無効な日付'が表示されます。コードの何が間違っていますか?

+1

変更 'VARのrootDateは=新しい日付( "2017年5月31日")' –

+1

日付で作業したい場合、私はあなたがhttps://momentjs.com/ –

+0

@sachila感謝を見てみましょう示唆そのために..それは2日を追加するために働いていて、18ヶ月追加するために働いていない.. – Mathi

答えて

0

最初の月の追加については、Dateオブジェクト

var rootDate = new Date("31 May,2017");

に日付を変換し、月の使用にsetMonth方法

lastDate.setMonth(rootDate.getMonth() +18);

angular.module("app",[]) 
 
.controller("ctrl",function($scope,$filter){ 
 
var rootDate = new Date("31 May,2017"); 
 
var firstDate = new Date(); 
 
var lastDate = new Date(); 
 

 
var tempdate = firstDate.setDate(rootDate.getDate() +2); 
 
firstDate = $filter('date')(tempdate , "dd MMM, yyyy"); 
 
console.log(firstDate) 
 

 
var tempDateTwo = lastDate.setMonth(rootDate.getMonth() +18); 
 
lastDate = $filter('date')(tempDateTwo , "dd MMM, yyyy"); 
 
console.log(lastDate) 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    
 
</div>
を設定します

0

これを使用します。
1:追加日の場合moment().add(2,'days').format('DD MMMM, YYYY');
2:moment().add(18,'months').format('DD MMMM, YYYY');;

0

私はこのように動作するようにコードを改訂しました。#達成したいことをもたらします。

var rootDate = '31 May,2017'; 
    var firstDate = new Date(rootDate); 
    var lastDate = new Date(rootDate); 

    firstDate.setDate(firstDate.getDate() + parseInt(2));  

    lastDate.setMonth(lastDate.getMonth() + parseInt(18)); 
関連する問題