這是我的代碼:在此日期功能中添加日期有什麼不對?
var dat = new Date("24/03/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
但它打印Tue Jan 06 2015 00:00:00 GMT+0100
?
日期錯誤:應該是2013年3月31日(我想用這種格式打印它)。
這是我的代碼:在此日期功能中添加日期有什麼不對?
var dat = new Date("24/03/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
但它打印Tue Jan 06 2015 00:00:00 GMT+0100
?
日期錯誤:應該是2013年3月31日(我想用這種格式打印它)。
我的瀏覽器(Chrome)打印出「無效日期」,但顯然你的解釋是以mm/dd/yyyy格式而不是dd/mm/yyyy格式來初始化日期。因此,它認爲它是2013年24th月的第3天,即2015年1月3日。
我不確定爲什麼它會在1月6日將其打印爲7天。
最安全的方式是明確給出的數字:
var dat = new Date(2013, 2, 24);
值得注意的是,採用這種方法,1月份等於0,12月份等於11 - 如果通過格式正確的字符串,情況並非如此。 – 2013-03-19 09:59:27
你應該在之前打印出你的日期你加7。我懷疑它被設置爲在2013年3 次天第24個月的,相當於地方接近2015年一月
這就是爲什麼你得到的日期從當前工作進展順利。爲什麼它給你的6 日一月的,而不是10 日,我不知道,但你可能只需要改變你的輸入字符串的mm/dd/yyyy
美國的格式,或使用a more explicit constructor that's not subject to misinterpretation修復:
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
更改日期的格式把天後的一個月:
var dat = new Date("03/24/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
對我來說這將返回:
Sun Mar 31 2013 00:00:00 GMT+0000 (GMT Standard Time)
試試這個!
var aDate = new Date(2013,3,24);
aDate.setDate(aDate.getDate() + 7);
var dateString = aDate.getDate() + "-" + aDate.getMonth() + "-" + aDate.getFullYear();
alert(dateString);
你的意思是把這些參數放在引號中嗎? – paxdiablo 2013-03-19 09:47:55
ya..just附加字符串 – divyabharathi 2013-03-19 09:48:56
不,我的意思是在日期構造函數。 – paxdiablo 2013-03-19 09:52:20
您應該先給出月份編號。然後你會得到正確的答案
試試這個代碼
var dat = new Date("03/24/2013");
dat.setDate(dat.getDate() + 7);
var curr_date = dat.getDate();
var curr_month = dat.getMonth() + 1; //Months are zero based
var curr_year = dat.getFullYear();
console.log(curr_date + "/" + curr_month + "/" + curr_year);
哪些是您使用(如果只有這樣我們才能避免它在未來)瀏覽器? :-) – paxdiablo 2013-03-19 09:47:17