網站搜尋

javascript - momentJS 日期字串加 5 天


我有一個開始日期字串 "20.03.2014",我想用 moment.js 在此基礎上加 5 天,但在警示視窗中沒有得到新的日期 "25.03.2014"。

這是我的 JavaScript 代碼:

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5);

alert(new_date);

這是我的 jsfiddle: http://jsfiddle.net/jbgUt/1/

我該怎麼解決這個問題?

我喜歡這種字串格式 "25.03.2014"

希望有人能幫助我。

答案#1

更新日期:2016年1月19日

截至版本 2.8.4 - 使用 .add(5, 'd')(或 .add(5, 'days'))取代 .add('d', 5)

var new_date = moment(startdate, "DD-MM-YYYY").add(5, 'days');

感謝 @Bala 提供的信息。

更新日期:2014年3月21日

這就是你必須做的才能得到那種格式。

這是一個更新過的 fiddle

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);

var day = new_date.format('DD');
var month = new_date.format('MM');
var year = new_date.format('YYYY');

alert(day + '.' + month + '.' + year);

原始:2014年3月20日

你沒有告訴它要加哪個/什麼單位。使用 -

 var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);

答案#2

moment(moment('2015/04/09 16:00:00').add(7, 'd').format('YYYY/MM/DD HH:mm:ss'))

必須先格式化,然後再轉換回 moment。

答案#3

你可以以不同的格式新增天數:

// Normal adding
moment().add(7, 'days');

// Short Hand
moment().add(7, 'd');

// Literal Object    
moment().add({days:7, months:1});

在 Moment.js 文件中查看更多相關內容:https://momentjs.com/docs/#/manipulating/add/

答案#4

函數 add() 會返回舊的日期,但會改變原始日期 :)

startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days');
alert(new_date);

答案#5

var end_date = moment(start_date).clone().add(5, 'days');

答案#6

如果我們想使用當前日期或今天的日期:

var new_date = moment(moment(), "MM-DD-YYYY").add(7, 'days')
alert(new_date);