请引用下图:
上面的文字说 Thu, Oct 28, 1909...而日期选择器的实际值是 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() 方法。
我做错了什么?
最佳答案
您可以使用此代码从日期选择器中检索值。
在 OnDateSetListener() 的 onDateSet() 方法中添加此代码
TimestampField field = (TimestampField) fieldpicker;
Timestamp timestamp = field.getTimestamp();
timestamp.setYear(year - 1900);
timestamp.setMonth(monthOfYear);
timestamp.setDate(dayOfMonth);
field.setTimestamp(timestamp);
这将以正确的格式显示日期
关于android - 日期选择器对话框与所选日期不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17695123/