datePicker.getMonth () +1 не дает ожидаемого результата - PullRequest
1 голос
/ 07 августа 2011
             Toast.makeText(getBaseContext(),
            "Date selected:" + datePicker.getMonth()+1+
            "/"+ datePicker.getDayOfMonth() +
            "/"+ datePicker.getYear() +"\n" +
            "Time Slected:" + timePicker.getCurrentHour() + 
            ":"+ timePicker.getCurrentMinute(),
            Toast.LENGTH_SHORT).show();

BY добавив 1 к datePicker.getMonth (), я получаю номер месяца

            output like->
            jan-01,feb-11,mar-21

Но когда я удаляю «1», я получаю вывод числа месяца, например

            jan-0,feb-01,mar-02

Ответы [ 2 ]

7 голосов
/ 07 августа 2011

Вы хотите скобки.

(datePicker.getMonth()+1)

В противном случае вы выполняете конкатенацию строк.

Например

Если getMonth() возвращает 0 (для января), то

"Date selected: " + datePicker.getMonth()+1

это

("Date selected: " + 0) + 1
= "Date selected: 0" + 1
= "Date selected: 01"

Но с паренсом

"Date selected: " + (datePicker.getMonth()+1)
= "Date selected: " + (0+1)
= "Date selected: " + 1
= "Date selected: 1"
2 голосов
/ 07 августа 2011

Месяцы индексируются, начиная с 0. Таким образом, первый месяц получает номер 0, второй получает 1.

...