本文介紹了為什么我不能在Java中使用SimpleDateFormat來正確地計算年份呢?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
在嘗試解析MySql
格式的數據時,遇到了SimpleDateFormat
。我可以獲得正確的日期和月份,但我得到了一年中奇怪的結果:
date = 2009-06-22;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(date);
System.println(date);
System.println(d.getDate());
System.println(d.getMonth());
System.println(d.getYear());
輸出:
2009-06-22
22 OK
5 Hum... Ok, months go from 0 to 11
109 o_O WTF ?
我嘗試將格式更改為YYYY-MM-dd
(收到錯誤)和yy-MM-dd
(未執行任何操作)。我在Android上編程,不知道這是否重要。
目前,我使用拆分繞過它,但它很臟,無法使用I18N功能。
推薦答案
年份相對于1900年。這是Date
類的一個”特性”。嘗試使用Calender
。
這篇關于為什么我不能在Java中使用SimpleDateFormat來正確地計算年份呢?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,