editText 中错误的 datePicker 格式
Wrong datPicker format in editText
我有一个 datePicker,当我从它获取日期时,我想在 editText 中显示它,它的格式错误。
例如,我
一月 / 01/2020
我选择。
但是里面的文本编辑
它显示 2020/0/1 而不是 2020/01/01
打开日期选择器:
new SpinnerDatePickerDialogBuilder()
.context(AddProjectActivity.this)
.callback(AddProjectActivity.this)
.spinnerTheme(R.style.NumberPickerStyle)
.showTitle(true)
.showDaySpinner(true)
.defaultDate(2017, 0, 1)
.maxDate(2100, 0, 1)
.minDate(2020, 0, 1)
.build()
.show();
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
meEdtDate.setText(year + "/" + monthOfYear + "/" + dayOfMonth);
date = getDate(year, monthOfYear, dayOfMonth);
}
private Date getDate(int year, int monthOfYear, int dayOfMonth) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, monthOfYear, dayOfMonth);
return calendar.getTime();
}
设置编辑文本的日期:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
String dateStr = simpleDateFormat.format(projectEntity.getDate());
meEdtDate.setText(dateStr);
这是一个使用当前包 java.time 中的 类 进行日期处理的解决方案。
您可以像这样从年月日创建 LocalDate
private static LocalDate getDate(int year, int monthOfYear, int dayOfMonth) {
return LocalDate.of(year, monthOfYear, dayOfMonth);
}
然后像这样格式化成String
LocalDate date = getDate(2020, 1, 1);
String dateString = date.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
我有一个 datePicker,当我从它获取日期时,我想在 editText 中显示它,它的格式错误。 例如,我 一月 / 01/2020 我选择。 但是里面的文本编辑 它显示 2020/0/1 而不是 2020/01/01
打开日期选择器:
new SpinnerDatePickerDialogBuilder()
.context(AddProjectActivity.this)
.callback(AddProjectActivity.this)
.spinnerTheme(R.style.NumberPickerStyle)
.showTitle(true)
.showDaySpinner(true)
.defaultDate(2017, 0, 1)
.maxDate(2100, 0, 1)
.minDate(2020, 0, 1)
.build()
.show();
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
meEdtDate.setText(year + "/" + monthOfYear + "/" + dayOfMonth);
date = getDate(year, monthOfYear, dayOfMonth);
}
private Date getDate(int year, int monthOfYear, int dayOfMonth) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, monthOfYear, dayOfMonth);
return calendar.getTime();
}
设置编辑文本的日期:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
String dateStr = simpleDateFormat.format(projectEntity.getDate());
meEdtDate.setText(dateStr);
这是一个使用当前包 java.time 中的 类 进行日期处理的解决方案。
您可以像这样从年月日创建 LocalDate
private static LocalDate getDate(int year, int monthOfYear, int dayOfMonth) {
return LocalDate.of(year, monthOfYear, dayOfMonth);
}
然后像这样格式化成String
LocalDate date = getDate(2020, 1, 1);
String dateString = date.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));