我在Java中有一個Date對象。有時日期的年份設置爲17.當我使用SimpleDateFormat輸出它時,它將打印爲0017.我所有的年份都將在2000年。有沒有辦法檢查年份是否低於某個特定的值,然後如果它是2000年添加到它?然後,一旦你這樣做,你如何重新創建Date對象來使用新的一年?看起來像日期對象中的所有內容都被棄用。Java中的日期,如何操縱年?
回答
如果您使用日曆或喬達時間(一個更好的選擇),您可以獲取和設置一年(或其他字段)
你一年不應該擺在首位17。我會盡力從源頭解決問題,而不是稍後再補丁。
我會用一個日曆:
所有的Date myDate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
int year = cal.get(Calendar.YEAR);
if(year < 2000)
cal.add(Calendar.YEAR, 2000); // add two thousand years
首先,Date.getYear返回CurrentYear - 1900年,2000不,它看起來像你想每次做增量。
但因爲它是過時,你不應該擺在首位,如果可能的話使用它。 API建議您改爲使用日曆類:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html
我會強烈推薦使用Joda-Time。爲什麼?該API更好,更直觀,並且不會受困擾SimpleDateFormat等的線程問題的影響。或者大量的貶值,使當前的Date
API陷入癱瘓。
喬達時間是否有自己的日期格式? – 2012-07-19 17:35:13
它帶有自己的線程安全日期/時間格式器。它們與標準Java版本非常相似,但可用於多線程的envs。 – 2012-07-19 22:36:02
- 1. vb中日期的操縱
- 2. javascript日期操縱
- 3. 日期操縱VBA
- 4. 日期操縱iphone sdk?
- 5. 用jquery操縱日期
- 6. 操縱javascript日期對象
- 7. 操縱data.table擴大日期
- 8. elasticsearch-painless - 操縱日期
- 9. React Native:操縱日期
- 10. 我如何操縱聚合管道中的日期字段?
- 11. 如何修改比較和操縱mysql和Java中的日期時間值?
- 12. Informix的:日期時間操縱
- 13. 操縱日期時間的Python
- 14. Java中的日期操作?
- 15. 從術語代碼創建年份/在SAS中操縱日期字符串
- 16. JAVA如何取日期並查看日期,月份和年份?
- 17. VBS腳本問題 - 操縱日期
- 18. 操縱日期時間在SQL Server
- 19. 手把操縱日期格式
- 20. 操縱sqllite日期和時間
- 21. 操縱和Java
- 22. Oracle日期 - 如何年加入日期
- 23. java日期早於1923年
- 24. Java日期和年齡
- 25. Java:日期操作
- 26. 如何從groovy中的日期中提取一年的日期
- 27. 如何比較xsl中的日期年?
- 28. 如何與另一日期(月/年)比較日期(月/年)
- 29. Android Java - 如何在DatePicker中獲取每年的日期?
- 30. 在Java中操縱PNGs
你是否反對使用日曆出於某種原因? – 2012-07-19 15:40:05