Android:如何计算几天前的日期?

Ale*_*sis 3 java android calendar days

我得到今天这样的日期:

final Calendar cal = Calendar.getInstance();
{
   mYear = cal.get(Calendar.YEAR);
   mMonth = cal.get(Calendar.MONTH);
   mDay = cal.get(Calendar.DAY_OF_MONTH);
}
Run Code Online (Sandbox Code Playgroud)

我想计算x天前的日期是什么...有人得到了什么吗?

Jan*_*ård 11

更好的方法是使用add方法而不是set:

cal.add(DAY_OF_YEAR, -2);
Run Code Online (Sandbox Code Playgroud)

即确保它也适用于月份的第一天等.


Ovi*_*tcu 3

您可以执行以下操作:

    Calendar cal=Calendar.getInstance();
    int currentDay=cal.get(Calendar.DAY_OF_MONTH);
    //Set the date to 2 days ago
    cal.set(Calendar.DAY_OF_MONTH, currentDay-2);
Run Code Online (Sandbox Code Playgroud)

然后你可以得到日期:

    cal.getTime(); //The date 2 days ago
Run Code Online (Sandbox Code Playgroud)