【发布时间】:2017-10-25 05:35:34
【问题描述】:
我想将日期显示为“当前日期 - 180”天。我怎样才能显示这个?我在下面添加我的代码。现在我只能从 datepicker 对话框中选择日期,不能在 textview 中预填充日期。
Calendar calendarFrom = Calendar.getInstance();
datePickerFrom = new DatePickerDialog(activity, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
StringBuilder selectedDate = new StringBuilder().append(dayOfMonth).append("-").append(monthOfYear + 1).append("-").append(year);
textDateFrom.setText(selectedDate);
}
}, calendarTwo.get(Calendar.YEAR), calendarTwo.get(Calendar.MONTH), calendarFrom .get(Calendar.DAY_OF_MONTH));
textDateFrom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerFrom .getDatePicker().setMaxDate(new Date().getTime());
datePickerFrom .show();
}
});
【问题讨论】:
-
即使the modern Java date and time API 还没有内置在大多数 Android 设备上,对于像这样的日期计算,值得考虑获取 ThreeTenABP 并使用
LocalDate.now(ZoneId.of("America/Merida")).minusDays(180)(填写您想要的时间区)。
标签: java android datepicker calendar