4

次の画像を参照してください。

ここに画像の説明を入力

上記のテキストでは、1909 年 10 月 28 日 Thu と表示されていますが、実際には、日付ピッカーの値は 1902 年 1 月 3 日です。何が間違っていますか?

これが私のコードです:

@SuppressWarnings("deprecation")
public void setTheDate(View v){
    showDialog(DATE_DIALOG_ID);
}

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:
        // set date picker as current date
        return new DatePickerDialog(this, datePickerListener, 
                year, month,day);
    }
    return null;
}

private DatePickerDialog.OnDateSetListener datePickerListener 
= new DatePickerDialog.OnDateSetListener() {

    // when dialog box is closed, below method will be called.
    public void onDateSet(DatePicker view, int selectedYear,
            int selectedMonth, int selectedDay) {
        year = selectedYear;
        month = selectedMonth;
        day = selectedDay;
        System.out.println("date" + year + month + day);
    }
}; 

DATE_DIALOG_ID は最終的な定数であり、ボタンをクリックするだけで setTheDate() メソッドを呼び出します。

私は何を間違っていますか?

4

2 に答える 2

1

このコードを使用して、日付ピッカーから値を取得できます。このコードをonDateSet() method of OnDateSetListener()

 TimestampField field = (TimestampField) fieldpicker;
 Timestamp timestamp = field.getTimestamp();
 timestamp.setYear(year - 1900);
 timestamp.setMonth(monthOfYear);
 timestamp.setDate(dayOfMonth);
 field.setTimestamp(timestamp);

これにより、日付が正しい形式で表示されます

于 2013-07-17T09:31:36.480 に答える