我嘗試獲取2日期之間的日期列表。但是,列表中的所有值都是開始日期。獲取2日期之間的日期列表有錯誤
例如
datefrom = 2017年6月10日
dateto = 2017年10月10日
==>列表的所有的值是datefrom(2017年6月10日)
預計---------------------------------------實際
日期[0] = 06-10-2017 -------------------日期[0] = 06-10-2017
日期[1] = 07-10-2017 -------------------日期[1] = 06-10-2017
日期[2] = 08-10-2017 ------------------- dates [2] = 06-10-2017
日期[3] = 09-10-2017- ------------------ dates [3] = 06-10-2017
日期[4] = 10-10-2017 -------- -----------日期[4] = 06-10-2017
任何幫助,將不勝感激。
public class fragTable extends Fragment{
...
private String mdateFrom = "06-10-2017";
private String mdateTo = "10-10-2017";
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
List<String> dates = new ArrayList<String>();
dates = getDaysBetweenDates(stringToDaTe(mdateFrom),stringToDaTe(mdateTo));
}
public List<String> getDaysBetweenDates(Date startdate, Date enddate)
{
List<String> dates = new ArrayList<String>();
Calendar calendar = new GregorianCalendar();
calendar.setTime(startdate);
while (calendar.getTime().before(enddate))
{
Date result = calendar.getTime();
dates.add(datetoString(result));
calendar.add(Calendar.DATE, 1);
}
return dates;
}
//Convert String to Date
public Date stringToDaTe(String dateString)
{
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = new Date();
try {
date = sdf.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
//Convert Date to String
public String datetoString(Date date)
{
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Date today = Calendar.getInstance().getTime();
String result = df.format(today);
return result;
}
}
發佈錯誤比 –
什麼是datetoString? – mikep
你的問題不清楚,預期輸出是什麼?你只需要在排除開始日期和結束日期之間的日期? – Count