2014-04-20 43 views
0

在Android應用程序中,我嘗試使用以下代碼檢索當前的月份和年份。關於Android應用程序當前的月份和年份

setMonth(Calendar.getInstance().getTime().getMonth()); 
setYear(Calendar.getInstance().getTime().getYear()); 
System.out.println("MONTH sssssssssss:" + Month); 
System.out.println("YEAR ssssssssssss:" + Year); 

輸出

04-20 16:36:43.723: I/System.out(4718): MONTH sssssssssss:3 
04-20 16:36:43.723: I/System.out(4718): YEAR ssssssssssss:114 

可能有人請幫我糾正一年價值?

回答

5

請不要使用以下

Calendar today = Calendar.getInstance(); 
int month = today.get(Calendar.MONTH); // january == 0 btw 
int year = today.get(Calendar.YEAR); 
// do your printing here 

你得到114是因爲getTime()方法返回一個java.util.Date類,默認情況下,該java.util.Date類都有其價值每年由1900偏移的原因(不要問我爲什麼)。這意味着當前年份爲2014 - 1900 = 114,這就是您所看到的。

+0

這裏是一個相關的SO線程:http://stackoverflow.com/questions/7215621/why-does-javas-date-getyear-return-111-instead-of-2011 – tambykojak