2011-08-07 38 views
1
   Toast.makeText(getBaseContext(), 
      "Date selected:" + datePicker.getMonth()+1+ 
      "/"+ datePicker.getDayOfMonth() + 
      "/"+ datePicker.getYear() +"\n" + 
      "Time Slected:" + timePicker.getCurrentHour() + 
      ":"+ timePicker.getCurrentMinute(), 
      Toast.LENGTH_SHORT).show(); 

加入1至datePicker.getMonth(),我得到月份數datePicker.getMonth()+1沒有給出預期的結果

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

但是,當我刪除 「1」我得到的月份編號輸出像

  jan-0,feb-01,mar-02 

回答

8

你想括號。

(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" 
+1

你對,謝謝兄弟..... – sanjay

2

月是收錄星從0起。所以第一個月得到0號,第二個得到1.

+1

正確,但不是在這個問題上的問題。 (Se Ray Toal的答案) – Dimse

+0

嗯,問題是關於'獲取錯誤的月份數',而不是'隨機出現1'。你可能是對的,答案更有幫助,但這個問題並不是真的可以理解......(甚至在重新格式化之後) – Nanne

+0

根據問題_title_,我認爲這也是一個月的編號問題,但是, OP在代碼中已經有'+ 1',所以我使用字符串concat答案。很難說,有時候。 :) –

相關問題