-1

I want to show the date as "current date-180" days. How can I show this? I am adding my code below. Now I can choose date from datepicker dialog only, can't prepopulate date in 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();
        }
    });
Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
  • Even when [the modern Java date and time API](https://docs.oracle.com/javase/tutorial/datetime/) doesn’t come built-in on most Android devices yet, for date arithmetic like this, it’s worth considering getting [ThreeTenABP](https://stackoverflow.com/questions/38922754/how-to-use-threetenabp-in-android-project) and using `LocalDate.now(ZoneId.of("America/Merida")).minusDays(180)` (fill in your desired time zone). – Ole V.V. Oct 25 '17 at 08:22

1 Answers1

0

You can do

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

    System.out.println(calendarFrom.getTime());
Scary Wombat
  • 44,617
  • 6
  • 35
  • 64