获取当前日期和时间
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
创建当前日期对象
Date toDate;
toDate.setYear(mYear);
toDate.setMonth(mMonth);
toDate.setDate(mDay);
Date endDate = toDate;
打印endDate对象时我得到了
Mon Jan 01 13:11:00 GMT+03:00 3912
为什么?
答案 0 :(得分:18)
从Date.setYear(int)
说明:为此Date对象设置自1900年以来的格里历年度。因此,1900 + 2012 = 3912
。
但calendar.get(Calendar.YEAR)
会返回确切的年份数2012
。因此API的这种不一致会导致您的问题。但无论如何{@ 1}}已被弃用,因此,最好使用Date.setYear(int)
对象进行日期计算。
答案 1 :(得分:0)
最好使用日历
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR,myear);
(即)
cal.set(Calendar.YEAR,2016);