SimpleDateFormat за прошедший месяц, два месяца назад, три месяца назад - PullRequest
0 голосов
/ 31 октября 2019

Я использую SimpleDateFormat, чтобы получить текущий месяц, но я хочу показать таблицу повторного просмотра с информацией об этом месяце и за последние три месяца.

Мой php json загружает это, но я хочу автоматически поместить его в Android.

    periodo1 = findViewById(R.id.tittle_periodo1);
    periodo2 = findViewById(R.id.tittle_periodo2);
    periodo3 = findViewById(R.id.tittle_periodo3);
    periodo4 = findViewById(R.id.tittle_periodo4);

    SimpleDateFormat month_date = new SimpleDateFormat("yyyyMM");
    String month1 = month_date.format(c.getTime());
    periodo1.setText(month1);

Ответы [ 2 ]

1 голос
/ 31 октября 2019

попробуйте это:

   Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.add(Calendar.MONTH, -3); // -3 is Number of months past (july)
    Date newDate = calendar.getTime();

, и вы можете отформатировать его, если хотите:

  String date = DateFormat.format("MM/dd/yyyy", newDate).toString();
1 голос
/ 31 октября 2019

С синтаксисом Java8 вы можете использовать библиотеку времени, чтобы достичь этого

import java.time.LocalDate;

LocalDate now = LocalDate.now(); // 2019-11-01 (Nov)

LocalDate minusOneMonth = now.minusMonths(1); // 2019-10-01 
minusOneMonth.getMonth().getValue(); // Gives -1 month (10)

LocalDate minusTwoMonth = now.minusMonths(2); // 2019-09-01 
minusTwoMonth.getMonth().getValue(); // Gives -2 month (09)

Надеюсь, это то, что вы ищете.

Если вы не можете использовать синтаксис Java8, используйте следующую команду

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.MONTH, -1);
    Date newDate = cal.getTime();

.... = new SimpleDateFormat("M")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...