我想創建兩個包含一個月的開始日期和下一個月的開始日期的日期。這是我的:JavaScript日期操作怪異
var TheMonth = "6.2012"; // as in june 2012
TheMonth = TheMonth.split(".")
var TheDisplayDate = new Date(parseInt(TheMonth[1], 10), (parseInt(TheMonth[0], 10) - 1), 1);
var TheUpperLimit = new Date(TheDisplayDate.getFullYear(), TheDisplayDate.getMonth(), 1);
//I'm adding a month here but it's not changing the month
TheUpperLimit.setMonth(TheUpperLimit.getUTCMonth() + 1);
問題是TheUpperLimit原來是相同的日期。我有一個小提琴here來看看。 我在做什麼錯?
謝謝。
好的,這是解決同一問題的另一種方式。我想出了我的問題:getUTCMonth實際上是選擇5月31日,因爲時區更改,並增加一個月到五月再次顯示六月。您的解決方案避免了這個問題;謝謝。 – frenchie
當'TheMonth =「12.2012」','month = 12'和'second_month = month + 1 = 13'時。 'second_month> 12'條件只會在第12個月滿足。 –