我正在嘗試做一些非常簡單的事情,拿一個日期並從下一個月獲取第一天。我曾嘗試使用日曆。這裏的日期是日曆類型。Java獲取下個月的第一天給定日期
Calendar nextMonthFirst = (Calendar)date.clone();
int year = date.get(Calendar.YEAR);
int month = date.get(Calendar.MONTH);
nextMonthFirst.clear();
nextMonthFirst.set(year, month+1,1);
nextMonthFirst.add(Calendar.DAY_OF_MONTH, 0);
return nextMonthFirst
當我使用日期作爲 cal.set(2016,11,30); 我得到的輸出爲2017-01-01,而不是2016-12-01。任何想法我做錯了什麼?
月份值是從零開始的...所以11意味着12月份當您做cal.set(2016,11,30) – dev8080
IMO時,這個零基月份是這個日期API中最糟糕的事情。我建議您使用其他API:http://stackoverflow.com/a/589940/7605325 –
如果您可以使用Java SE 8,請使用新的LocalDate API。 – dev8080