0
A
回答
1
爲什麼不能這樣?
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
0
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, Calendar.MAY); // note this is a 0-11 value for jan-dec
calendar.set(Calendar.DATE, 20); // pick the 20th day...or whatever from input
注意,做這種方式會自動重新計算其餘字段(如多少天都在一個月,等)。您還可以使用日曆上的add()函數來添加日期,並且它也會考慮所有這些。
參見:http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html
2
Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, month); // 0-based
c.set(Calendar.YEAR, year);
當然,我建議使用joda-timeDateTime
代替Calendar
日期時操作。
0
使用java.time
現代的方式是與取代麻煩的老傳統Calendar
& Date
類java.time類。
YearMonth
的YearMonth
類代表,那麼,一年一個月,沒有任何日期或或時區天時間 - 。
YearMonth ym = YearMonth.of(2017 , Month.MARCH);
LocalDate
您可以生成一個LocalDate
。
LocalDate firstOfMonth = ym.atDay(1);
LocalDate endOfMonth = ym.atEndOfMonth();
如果你想在兩者之間的日期,循環。一次增加日期一天。檢查每天是否仍然在相同的YearMonth
。如果不是,你增加得太多,可以停止。
List<LocalDate> dates = new ArrayList<>(31);
LocalDate localDate = ym.atDay(1);
while (YearMonth.from(localDate).equals(ym) {
dates.add(localDate);
// Set up the next loop.
localDate = localDate.plusDays(1);
}
關於java.time
的java.time框架是建立在Java 8和更高版本。這些類取代了日期時間類legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time項目現在位於maintenance mode,建議遷移到java.time類。請參閱Oracle Tutorial。並搜索堆棧溢出了很多例子和解釋。規格是JSR 310。
從何處獲取java.time類?
- Java SE 8和SE 9後來
- 內置。
- 帶捆綁實現的標準Java API的一部分。
- Java 9增加了一些次要功能和修復。在ThreeTen-Backport
- Java SE 6和SE 7
- 大部分的java.time功能後移植到Java 6 & 7。
- Android
- 的ThreeTenABP項目適應ThreeTen-反向移植(上述)爲Android特異性。
- 參見How to use ThreeTenABP…。
的ThreeTen-Extra項目與其他類擴展java.time。這個項目是未來可能增加java.time的一個試驗場。您可以在這裏找到一些有用的類,如Interval
,YearWeek
,YearQuarter
和more。
相關問題
- 1. 月份和年份查看日曆
- 2. 在特定的月份和年份中生成隨機日期
- 3. 日曆卷會環繞給定的年份,月份等嗎?
- 4. 特定年份和月份的打印日曆
- 5. 查找給定月份和特定年份的具體日期
- 6. 從給定日期獲取月份,日期和年份
- 7. 帶月份和年份的不帶日期的日曆
- 8. 選擇最多的日期與給定的年份和月份
- 9. 計算給定月份和年份的週日數
- 10. 如何在給定年份和月份的星期日期PHP
- 11. 如何從Java月份和年份生成日期?
- 12. 根據月份生成月份日期
- 13. 日曆返回錯誤的年份和月份的Java
- 14. 月份和年份的日期轉換
- 15. 計算月份和年份的日期
- 16. Django DateField的日曆只顯示月份和年份?
- 17. 如何獲取日曆上顯示的月份和年份
- 18. 給定年份和月份的特定日期的查找日期+ Sql Server 2005
- 19. 日曆對象不斷打印3月份作爲月份和1年份
- 20. 添加年份,月份和日期C
- 21. 日期,月份和年份下拉框
- 22. RichFaces日曆:僅顯示月份和年份
- 23. Primefaces日曆組件僅顯示月份和年份
- 24. AJAX日曆擴展程序選擇月份和年份
- 25. 綁定ajax日曆擴展到特定的月份和年份只有
- 26. 我必須從輸入的月份/年份打印月份和年份到當前的月份和年份
- 27. NSFetchRequest爲特定的月份和年份
- 28. 具有給定年份和月份的月份中的Python天數?
- 29. Java - 格式化給定日期,月份和年份的日期整數
- 30. 的JavaScript生成年份和月份的下拉列表中
「注意:我已經計算出每月包含的天數。」 a)你可能做錯了。很難做到這一點 - 有很多規則。 b)框架中已經有代碼可以爲你做到這一點。爲什麼自己寫? – 2012-03-20 13:23:45
@Mark Byers:有完整代碼的鏈接嗎? – Nitish 2012-03-20 13:32:45