Когда я создаю Date
от разбора String
и доступа к дню месяца, я получаю неправильное значение.Как получить день месяца из форматированной строки?
Date datearr = null;
DateFormat df1 = new SimpleDateFormat("dd-MM-yyyy");
String dataa = "17-03-2012";
try {
datearr = df1.parse(dataa);
} catch (ParseException e) {
Toast.makeText(this, "err", 1000).show();
}
int DPDMonth = datearr.getMonth() + 1;
int DPDDay = datearr.getDay();
int DPDYear = datearr.getYear() + 1900;
System.out.println(Integer.toString(DPDDay)+"-"+Integer.toString(DPDMonth)+"-"+Integer.toString(DPDYear));
Почему я получаю 0
вместо 17
?
03-11 10:24:44.286: I/System.out(2978): 0-3-2012
Прочитайте javadoc методов, которые вы используете, обратите внимание на их предупреждение об устаревании и замените их кодом, который предлагает документация. А также подумайте о том, что произойдет, если бы у вас было ParseException, когда был выполнен код 'datearr.getMonth()'. –
И, пожалуйста, используйте соглашения java, связанные с именами переменных ... это очень раздражает, пытаясь прочитать код и выделить переменную, выделенную как класс. – Marcelo
Извините, это мое первое сообщение здесь. –