我在格式(mm/dd/yy)中顯示日期並且想要添加30天。我只是好奇最好的方法來做到這一點?我是JavaScript新手,所以例子會有所幫助。添加30天至日期(月/日/年)
EDITED
對不起我使用美國日期格式(MM/DD/YY)。
我在格式(mm/dd/yy)中顯示日期並且想要添加30天。我只是好奇最好的方法來做到這一點?我是JavaScript新手,所以例子會有所幫助。添加30天至日期(月/日/年)
EDITED
對不起我使用美國日期格式(MM/DD/YY)。
只需30天添加到今天的日期:
var now = new Date();
now.setDate(now.getDate() + 30);
然而,就是你真正想做的事?或者你想今天再加上一個月嗎?
可以使用AD/M/Y日期轉換爲日期對象:
var dString = '9/5/2011';
var dParts = dString.split('/');
var in30Days = new Date(dParts[2] + '/' +
dParts[1] + '/' +
(+dParts[0] + 30)
);
對於美國的日期格式,交換部件0和1:
var in30Days = new Date(dParts[2] + '/' +
dParts[0] + '/' +
(+dParts[1] + 30)
);
但它是更好地得到將日期轉換爲ISO8601格式,然後再將其傳遞給該函數,那麼您確實不應該在日期解析和算術中混合使用相同的函數。一個全面的日期解析函數是複雜的(不是過多,但它們很繁瑣,需要大量的測試),一旦你有一個日期對象,算法很簡單。
一個簡單的方法來完成它是發送Date
構造函數中的時間戳值。要計算30天時間戳測量:
30 * 24 * 60 * 60 * 1000
然後,你需要的當前時間戳:
Date.now()
最後,和這兩個值,並將結果發送如在構造函數中設置了一個param:
var nowPlus30Days = new Date(Date.now() + (30 * 24 * 60 * 60 * 1000));
var nowPlus30Days = new Date(Date.now()+ 30 * 24 * 60 * 60 * 1000).toJSON()。slice(0,10); – Zerubbabel 2016-07-10 01:54:05
您需要做更多的工作來創建日期o在問題中使用非美國日期格式。 – Phil 2011-05-08 22:49:47
不,我不知道。上面構建了一個ISO8601格式的日期字符串,ECMAScript日期對象默認解析這個日期字符串。原來與格式無關的小錯誤,但我自此編輯過。 :-) – RobG 2011-05-08 22:59:24
@RobG我的意思是解析非美國日期字符串設置初始日期對象時間(* ed:看起來像你有我的意思*);-) – Phil 2011-05-08 23:00:58