【问题标题】:Prepopulated Date Using calender in android [duplicate]在android中使用日历预填充日期[重复]
【发布时间】: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


【解决方案1】:

你可以的

    Calendar calendarFrom = Calendar.getInstance();
    calendarFrom.add (Calendar.DATE, -180);

    System.out.println(calendarFrom.getTime());

【讨论】:

  • 感谢您的回复..我有一个名为“textDateFrom”的文本视图..我如何在这个日期设置文本。请告诉
  • 使用 SimpleDateFormat 格式化从 calendarFrom.getTime() 返回的 Date
  • 谢谢你..我会试试
猜你喜欢
  • 2013-06-28
  • 1970-01-01
  • 2014-08-12
  • 2022-01-11
  • 1970-01-01
  • 2012-12-24
  • 2016-08-31
  • 2020-12-25
  • 2021-07-22
相关资源
最近更新 更多