如何根据android中的另一个日期获取未来日期?

时间:2021-05-24 11:41:45

标签: android calendar

我想按日期选择器对话框选择日期,并基于此我需要在 20 天后获取日期。例如:如果我选择 2-5-2021,需要得到 22-5-2021。但是我得到了 parseException。如何实现这一目标?

我的代码是,

Calendar calendar = Calendar.getInstance();
Date date = null;
try {
  date = new SimpleDateFormat("dd/MM/yyyy").parse(transactionDate.getText().toString());
} catch (ParseException e) {
  e.printStackTrace();
  Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
  calendar.setTime(date);
  calendar.add(Calendar.DAY_OF_MONTH, 20);
  Toast.makeText(this, (CharSequence) calendar.getTime(), Toast.LENGTH_SHORT).show();

2 个答案:

答案 0 :(得分:1)

使用此函数并传递参数作为您的当前日期和您要添加的天数(20)。

public static String getCalculatedDate(String dateFormat, int days) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat s = new SimpleDateFormat(dateFormat);
        cal.add(Calendar.DAY_OF_YEAR, days);
        return s.format(new Date(cal.getTimeInMillis()));
    }

答案 1 :(得分:0)

为此找到了解决方案:

public void getCalculatedDate() {
    try {
        String date = selectedDate.getText().toString();
        SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
        Date parseDate = format.parse(date);
        Calendar cal = Calendar.getInstance();
        cal.setTime(parseDate);
        cal.add(Calendar.DAY_OF_MONTH, 20);
        newDate.setText(format.format(cal.getTime()));

    } catch (Exception e) {
        Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
    }
}

注意: selectedDate 是从日期选择器对话框中获取的。