朋友我从用户那里得到两个输入
1.InitDate from DatePicker
2.Difference in between two dates (numberOfDates)
我需要计算FinalDate,以便
FinalDate=InitDate+numberOfDates
到目前为止我做了什么
private void CalcLastDate(int days)
{
long millis=days*24*60*60;
Calendar c = Calendar.getInstance();
c.set(settingsFromDate.getYear(), settingsFromDate.getMonth(), settingsFromDate.getDayOfMonth());
long initDate = c.getTimeInMillis();
long longFinalDate=initDate+millis;
}
答案 0 :(得分:2)
试试这个:
Calendar cal = Calendar.getInstance();
cal.setTime(initDate); //initDate must be of java.util.Date
cal.add(Calendar.DAY_OF_MONTH, numberOfDates);
您可以通过以下方式获取最终日期:
Date finalDate = cal.getTime();
而且您不必使用第三方API。
答案 1 :(得分:1)
使用Joda DateTime library。 DateTime#plusDays
会增加几天。
//Initialize your date
DateTime dateTime = DateTime(...);
dateTime.plusDays(days);
非常容易处理日期,此库将添加到Java 8中。
答案 2 :(得分:0)
你可能会做类似的事情。
private DatePicker initPicker;
dp = (DatePicker) findViewById(R.id.initPicker);
final Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR,initPicker.getYear());
c.setMonth(Calendar.MONTH,initPicker.getMonth());
c.setDayOfMonth(Calendar.DAY_OF_MONTH,initPicker.getDayOfMonth());
long millis = c.getTimeInMillis();
对于不同的日期选择器对象。然后按照你需要的顺序加上或减去millis。