1. java中知道兩個日期如何獲得兩個日期之間的天數
首先把獲取的字元串日期轉換成Date類型(從前台頁面獲取的是字元串類型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//獲取相減後天數
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以幫到你。
2. 怎麼求java,2個日期之間有多少天。。
用毫秒數計算已經不是正確方法了。原因是大銷攜夏令時間會造成計算錯誤。差一小時就是差一天。如果對這方面有疑問,可以補充問題,我再詳細解答。
雖然在國內運用沒有問題滾伏,但是如果用於國際化的金融系統就不行了。
所以建議你在學習階段就認知,現代標准就是盡量不要使用毫秒數計算日期。
以下是斗滲正確方法:
public static long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}
3. java給定兩個日期,求兩個日期之間的日期段,以月為分隔~!
用java的日歷類
public static void main(String[] args) throws ParseException {
String d1= "2011-05-12";
String d2="2011-08-15";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = format.parse(d1);
Date date2 = format.parse(d2);
Calendar cal =Calendar.getInstance();
cal.setTime(date1);
int day = cal.get(Calendar.DAY_OF_MONTH);
while(cal.getTime().before(date2)){
String begin = format.format(cal.getTime());
int max = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, max);
String end = cal.getTime().before(date2) ? format.format(cal.getTime()) : d2;
System.out.println(begin+"~"+end);
cal.add(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, day);
}
}
4. 如何用java計算兩個日期之間的天數
手頭沒有編碼的工具,只能給你一個思路了。
先把兩個日期分別設置到兩個Date(java.util.Date)里。然後用getTime函數取得兩者的毫秒數,兩者之差除以一天的毫秒數(8640000)即為兩個日期之間天數。