如何在android中添加日期到日期

use*_*793 30 android date

在我的数据库中,我的开始日期如2011-11-30(yyyy/mm/dd)格式.持续时间如40天.如何计算天数并获得mm/dd/yyyy的新日期格式.

谁能帮我

谢谢

Lal*_*ani 74

你可以尝试这样的事情,

String dt = "2012-01-04";  // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
    c.setTime(sdf.parse(dt));
} catch (ParseException e) {
    e.printStackTrace();
}
c.add(Calendar.DATE, 40);  // number of days to add, can also use Calendar.DAY_OF_MONTH in place of Calendar.DATE
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
String output = sdf1.format(c.getTime()); 
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,Calendar.DATE与Calendar.DAY_OF_MONTH同义,后者可能更具可读性 (5认同)

Sun*_*hoo 23

步骤1从指定的字符串中获取Calendar实例

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Calendar c = Calendar.getInstance();
            c.setTime(sdf.parse(dateInString));
Run Code Online (Sandbox Code Playgroud)

步骤2用于add()向日历添加天数

c.add(Calendar.DATE, 40); 
Run Code Online (Sandbox Code Playgroud)

步骤3将dtae转换为结果日期格式

sdf = new SimpleDateFormat("MM/dd/yyyy");
            Date resultdate = new Date(c.getTimeInMillis());
            dateInString = sdf.format(resultdate);
Run Code Online (Sandbox Code Playgroud)

源代码

String dateInString = "2011-11-30";  // Start date
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        c.setTime(sdf.parse(dateInString));
        c.add(Calendar.DATE, 40);  
        sdf = new SimpleDateFormat("MM/dd/yyyy");
        Date resultdate = new Date(c.getTimeInMillis());
        dateInString = sdf.format(resultdate);
        System.out.println("String date:"+dateInString);
Run Code Online (Sandbox Code Playgroud)


Roa*_*ies 8

Date dtStartDate=o.getStartDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Calendar c = Calendar.getInstance();
c.setTime(dtStartDate);
c.add(Calendar.DATE, 3);  // number of days to add
String dt = sdf.format(c.getTime());  // dt is now the new date
Toast.makeText(this, "" + dt, 5000).show();
Run Code Online (Sandbox Code Playgroud)


Pir*_*hah 7

此代码工作 100%

            Calendar c = Calendar.getInstance();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// HH:mm:ss");
            String reg_date = df.format(c.getTime());
            showtoast("Currrent Date Time : "+reg_date);

            c.add(Calendar.DATE, 3);  // number of days to add
            String end_date = df.format(c.getTime());
            showtoast("end Time : "+end_date);
Run Code Online (Sandbox Code Playgroud)


Aas*_*tha 5

这段代码应该可以很好地完成工作!!!

public static String addDay(String oldDate, int numberOfDays) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Calendar c = Calendar.getInstance();
    try {
        c.setTime(dateFormat.parse(oldDate));
    } catch (ParseException e) {
        e.printStackTrace();
    }
    c.add(Calendar.DAY_OF_YEAR,numberOfDays);
    dateFormat=new SimpleDateFormat("MM-dd-YYYY");
    Date newDate=new Date(c.getTimeInMillis());
    String resultDate=dateFormat.format(newDate);
    return resultDate;
}
Run Code Online (Sandbox Code Playgroud)

如需更多功能,请查看此链接
Add days,months,years to a date