有没有什么办法可以减去选择器两个日期。
例如:
我会选择picker1和日期从picker2日期。 然后,picker2 - picker1获得这两个日期之间的天数。
20/10/2014
( - )2014年6月10号
--------------
14天
解决方案
DateTimeUtils OBJ =新DateTimeUtils();
的SimpleDateFormat SimpleDateFormat的=
新的SimpleDateFormat(DD / M / YYYY HH:MM:SS);
尝试 {
日期日期1 = simpleDateFormat.parse(2013年10月10号11点三十〇分10秒);
日期DATE2 = simpleDateFormat.parse(13/10/2013二十时35分55秒);
obj.printDifference(DATE1,DATE2);
}赶上(ParseException的E){
e.printStackTrace();
}
}
// 1分钟=60秒
// 1小时= 60×60 = 3600
// 1天= 3600×24 = 86400
公共无效printDifference(日期的startDate,日期结束日期){
//毫秒
长不同的= endDate.getTime() - startDate.getTime();
的System.out.println(的startDate:+的startDate);
的System.out.println(结束日期:+结束日期);
的System.out.println(不同:+不同的);
长secondsInMilli = 1000;
长minutesInMilli = secondsInMilli * 60;
长hoursInMilli = minutesInMilli * 60;
长daysInMilli = hoursInMilli * 24;
长elapsedDays =不同/ daysInMilli;
不同的=不同的%daysInMilli;
长elapsedHours =不同/ hoursInMilli;
不同的=不同的%hoursInMilli;
长elapsedMinutes =不同/ minutesInMilli;
不同的=不同的%minutesInMilli;
长elapsedSeconds =不同/ secondsInMilli;
System.out.printf(
%d天%d小时%d分钟,%d秒%N,
elapsedDays,
elapsedHours,elapsedMinutes,elapsedSeconds);
}
输出是这样
的startDate:周四10月10日11点30分10秒SGT 2013
结束日期:太阳10月13日二十时35分55秒SGT 2013
不同:291945000
3天,9小时,5分钟,45秒
从这个链接 Android的差异两个日期之间的答案
Is there any way to subtract two dates from picker.
Example:
I will select a date from picker1 and date from picker2. Then, picker2 - picker1 to get the number of days between these two dates.
20/10/2014
(-) 06/10/2014
--------------
14 days
解决方案
DateTimeUtils obj = new DateTimeUtils();
SimpleDateFormat simpleDateFormat =
new SimpleDateFormat("dd/M/yyyy hh:mm:ss");
try {
Date date1 = simpleDateFormat.parse("10/10/2013 11:30:10");
Date date2 = simpleDateFormat.parse("13/10/2013 20:35:55");
obj.printDifference(date1, date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
//1 minute = 60 seconds
//1 hour = 60 x 60 = 3600
//1 day = 3600 x 24 = 86400
public void printDifference(Date startDate, Date endDate){
//milliseconds
long different = endDate.getTime() - startDate.getTime();
System.out.println("startDate : " + startDate);
System.out.println("endDate : "+ endDate);
System.out.println("different : " + different);
long secondsInMilli = 1000;
long minutesInMilli = secondsInMilli * 60;
long hoursInMilli = minutesInMilli * 60;
long daysInMilli = hoursInMilli * 24;
long elapsedDays = different / daysInMilli;
different = different % daysInMilli;
long elapsedHours = different / hoursInMilli;
different = different % hoursInMilli;
long elapsedMinutes = different / minutesInMilli;
different = different % minutesInMilli;
long elapsedSeconds = different / secondsInMilli;
System.out.printf(
"%d days, %d hours, %d minutes, %d seconds%n",
elapsedDays,
elapsedHours, elapsedMinutes, elapsedSeconds);
}
output is this
startDate : Thu Oct 10 11:30:10 SGT 2013
endDate : Sun Oct 13 20:35:55 SGT 2013
different : 291945000
3 days, 9 hours, 5 minutes, 45 seconds
Answer from this link Android difference between Two Dates