还有另一种方法可以在Android日历选择器中添加天数

时间:2019-07-25 03:39:10

标签: java android date android-calendar days

我正在尝试添加超出月份天数的日期。例如2019年7月1日,我加上32天,因此结果将是2019年8月2日。

SimpleDateFormat format = new SimpleDateFormat("mm/dd/yyy");
SimpleDateFormat Dateformat = new SimpleDateFormat("mm/dd/yyy");
String getDate = date_pick.getText().toString();
Date mDate;
Date result_desu;
try {
    mDate = format.parse(getDate);
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(mDate);
    calendar.add(Calendar.DATE, 32);
    String formattedDate = Dateformat.format(calendar.getTime());
    date_result.setText(formattedDate);    // format output
} catch (ParseException e) {
    e.printStackTrace();
}

我一直在使用此代码,但事实证明,仅使用同一个月的示例重置了日期:2019年7月1日;结果:2019年7月2日。

1 个答案:

答案 0 :(得分:0)

尝试一下:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.text.ParseException;
class Main{
   public static void main(String args[]){
    String oldDate = "2019-07-1";  
    System.out.println("Date before Addition: "+oldDate);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Calendar c = Calendar.getInstance();
    try{
       c.setTime(sdf.parse(oldDate));
    }catch(ParseException e){
        e.printStackTrace();
     }

    c.add(Calendar.DAY_OF_MONTH, 32);  
    String newDate = sdf.format(c.getTime());  
    System.out.println("Date after Addition: "+newDate);
   }
}

输出:

Date before Addition: 2019-07-1
Date after Addition: 2019-08-02