2011-08-03 21 views
1

Hiho 有人可以告訴我爲什麼這些代碼無法正常工作嗎?錯誤的日期時間在我的Android應用程序

private Calendar dateTime = Calendar.getInstance(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.eintragen); 
    this.dh = new DataHelper(this); 

    EditText Datum = (EditText) findViewById(R.id.et_meerwasser_wasserwerte_eintragen_datum); 
    Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+dateTime.get(Calendar.MONTH)+"."+dateTime.get(Calendar.YEAR)); 
} 

每次啓動應用程序,它告訴我:2011年7月3日 但實際工作日期是2011年3月8日

我重新啓動mobilephone和抽放斷電池

隨着親切的問候 亞歷克斯

回答

1

加月份+1。因爲月份從0開始,而不是1在這個Calendar.So一月份,您將得到0而不是1.

Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+(dateTime.get(Calendar.MONTH)+1)+"."+dateTime.get(Calendar.YEAR)); 
} 
2

這是因爲本月將0考慮,而不是從1 嘗試修改您這樣的代碼,

private Calendar dateTime = Calendar.getInstance(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.eintragen); 
this.dh = new DataHelper(this); 

EditText Datum = (EditText) findViewById(R.id.et_meerwasser_wasserwerte_eintragen_datum); 
Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+dateTime.get((Calendar.MONTH)+1)+"."+dateTime.get(Calendar.YEAR)); 

}

所以,你必須通過遞增你一個月的價值一個獲得當前月份。

相關問題