我意识到这一点:
Calendar c = new GregorianCalendar();
mYear=c.get(Calendar.YEAR);
mMonth=c.get(Calendar.MONTH);
mDay=c.get(Calendar.DAY_OF_MONTH);
:
Date d = c.getTime();
int day = d.getDay();
int month = d.getMonth();
int year= d.getYear();
产生不同的数字,是否有一些初始化我错过了?我关心,因为我正在使用ORMLite,并试图将日期存储到数据库中,这是一个日期对象,但日期已被弃用,所以我现在尝试使用日历,但它似乎并不那么简单,因为上面的代码导致不同的答案为日,月和年。
Date.getYear(), getMonth() and getDay()
已被弃用,并特别要求您使用Calendar.get()
你得到不同答案的原因是双重的
getDay()
返回星期几而不是日期——此处使用getDate()
getYear()
返回年份- 1900
以下是API文档
中的相关注释弃用。自JDK 1.1版起,由Calendar.get(Calendar.YEAR) - 1900取代。
http://download.oracle.com/javase/6/docs/api/java/util/Date.html getYear % 28% 29日