Методы, которые вы используете в классе Date
, устарели.
- Вы получаете 111 за год, потому что
getYear()
возвращает значение, которое является результатом вычитания 1900 из годато есть 2011 - 1900 = 111
. - Вы получаете 3 за день, потому что
getDay()
возвращает день недели и 3 = Wednesday
.getDate()
возвращает день месяца, но это также устарело.
Вместо этого следует использовать класс Calendar
.
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = (Date)formatter.parse("2011-09-13");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
Log.e(MY_DEBUG_TAG, "Output is "+ cal.get(Calendar.YEAR)+ " /" + (cal.get(Calendar.MONTH)+1) + " / "+ cal.get(Calendar.DAY_OF_MONTH));