生活随笔
收集整理的這篇文章主要介紹了
计算两个日期之间有多少天多少小时多少分钟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?Java代碼
package date;?import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;?public class CalculateIntervalBetween2Dates {private static final long DAY=24*60*60*1000;private static final long HOUR=60*60*1000;private static final long MINUTES=60*1000;private static final long SECONDS=1000;private static final long MILLIONSECONDS=1;?public static void main(String[] args) {String startDateStr = "20121022";String endDateStr = "20121206";CalculateIntervalBetween2Dates.listNumberOfDates(startDateStr, endDateStr);CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,MILLIONSECONDS);CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,SECONDS);CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,MINUTES);CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,HOUR);CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,DAY);}?public static void listNumberOfDates(String startDateStr,String endDateStr){SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");Date startDate = null;Date endDate = null;try {startDate = sf.parse(startDateStr);endDate = sf.parse(endDateStr);} catch (ParseException e) {e.printStackTrace();}Calendar c1 = Calendar.getInstance();List<Date> cancelDates = new ArrayList<Date>();if (startDate != null && endDate != null && startDate.before(endDate)) {Date tempDate = startDate;do {cancelDates.add(tempDate);c1.setTime(tempDate);c1.add(Calendar.DAY_OF_MONTH, 1);tempDate = c1.getTime();} while (tempDate.before(endDate));cancelDates.add(endDate);}?System.out.println("There are " + cancelDates.size() + " days between " + sf.format(startDate) + " and " + sf.format(endDate) + ", inclusive.");System.out.println("See the following list:");for (Date date : cancelDates) {System.out.println(sf.format(date));}System.out.println();}?public static void calculateInterval(String startDateStr,String endDateStr,long interval){SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");Date startDate = null;Date endDate = null;try {startDate = sf.parse(startDateStr);endDate = sf.parse(endDateStr);} catch (ParseException e) {e.printStackTrace();}Calendar c1 = Calendar.getInstance();c1.setTime(startDate);long startInMillis=c1.getTimeInMillis();c1.setTime(endDate);c1.add(Calendar.DAY_OF_MONTH, 1);?long endInMillis=c1.getTimeInMillis();long between=endInMillis-startInMillis;System.out.println("There are " + (between/interval) +" "+getIntervalLabel(interval) + " between " + sf.format(startDate) + " and " + sf.format(endDate) + ", inclusive");}?private static String getIntervalLabel(long interval){if(interval==DAY){return "days";}else if(interval==HOUR){return "hours";}else if(interval==MINUTES){return "minutes";}else if(interval==SECONDS){return "seconds";}else if(interval==MILLIONSECONDS){return "million seconds";}else{return "error";}}} ?
轉載于:https://blog.51cto.com/shuaigee/1140917
總結
以上是生活随笔為你收集整理的计算两个日期之间有多少天多少小时多少分钟的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。