java兩個日期之間
㈠ 得到兩個日期之間的所有日期java
public static void main(String[] args) throws ParseException {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy/M/d");
Date startDate = df.parse("2012/3/1");
startCalendar.setTime(startDate);
Date endDate = df.parse("2012/3/5");
endCalendar.setTime(endDate);
while(true){
startCalendar.add(Calendar.DAY_OF_MONTH, 1);
if(startCalendar.getTimeInMillis() < endCalendar.getTimeInMillis()){//TODO 轉數組或是集合,樓主看著寫吧
System.out.println(df.format(startCalendar.getTime()));
}else{
break;
}
}
}
㈡ Java如何計算2個日期之間相差多少天
/**
*計算兩個日期之間相差的天數
*@paramsmdate較小的時間
*@parambdate較大的時間
*@return相差天數
*@throwsParseException
*/
publicstaticStringdaysBetween(Datesmdate,Datebdate)throwsParseException{
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendarcal=Calendar.getInstance();
cal.setTime(smdate);
longtime1=cal.getTimeInMillis();
cal.setTime(bdate);
longtime2=cal.getTimeInMillis();
longbetween_days=(time2-time1)/(1000*3600*24);
returnString.valueOf(between_days);
}
希望能幫助你。
㈢ JAVA中如何對兩個日期時間進行運算
/**
*計算兩個日期之間相差的天數
*@paramdate1
*@paramdate2
*@return
*/
publicstaticintdaysBetween(Datedate1,Datedate2)
{
Calendarcal=Calendar.getInstance();
cal.setTime(date1);
longtime1=cal.getTimeInMillis();
cal.setTime(date2);
longtime2=cal.getTimeInMillis();
longbetween_days=(time2-time1)/(1000*3600*24);
returnInteger.parseInt(String.valueOf(between_days));
}
㈣ java 如何實現兩個對兩個日期之間所有日期的遍歷
參考下面代碼:
public static void main(String[] args) {
Calendar start = Calendar.getInstance();
start.set(2014, 6, 11);
Long startTIme = start.getTimeInMillis();
Calendar end = Calendar.getInstance();
end.set(2014, 7, 11);
Long endTime = end.getTimeInMillis();
Long oneDay = 1000 * 60 * 60 * 24l;
Long time = startTIme;
while (time <= endTime) {
Date d = new Date(time);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(d));
time += oneDay;
}
}
㈤ 怎麼求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;
}
㈥ 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);
希望可以幫到你。
㈦ 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);
希望可以幫到你。
㈧ java中怎樣判斷日期處於兩個日期中
public static void main(String[] args) {
String d1 = "13:00";
String d2 = "15:00";
String innerTime = "14:00";
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
try {
Date dt1 = formatter.parse(d1);
Date dt2 = formatter.parse(d2);
Date stime = dt1.before(dt2) ? dt1 : dt2;
Date etime = dt1.after(dt2) ? dt1 : dt2;
Date inner = formatter.parse(innerTime);
boolean flag = inner.after(stime) && inner.before(etime);
System.out.println("是否在2個時間之間:" + flag);
} catch (Exception e) {
e.printStackTrace();
}
}
// 如果是日期自己更改format
㈨ java給定兩個日期,求兩個日期之間的日期段,以月為分隔~!
先得到
1月1日是周幾。。。。。多少周然後轉成天、整除7,,,,,,和1月1日是周幾對比
㈩ java中如何計算出兩個日期之間相差多少天
思路就是根據它們相差的毫秒數除以每天的毫秒數(60*60*24*1000),代碼如下:
public static void main(String[] args) throws ParseException {
String date1="1987-01-01";
String date2="2010-01-01";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date d1=sdf.parse(date1);
Date d2=sdf.parse(date2);
long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);
System.out.println("1987-01-01 與 2010-01-01 相隔 "+daysBetween+" 天");
}
運行結果如下:
(10)java兩個日期之間擴展閱讀:
Java使用以下三種方法來比較兩個日期:
1、使用 getTime() 方法獲取兩個日期(自1970年1月1日經歷的毫秒數值),然後比較這兩個值。
2、使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
3、使用 compareTo() 方法,它是由 Comparable 介面定義的,Date 類實現了這個介面。
SimpleDateFormat 是一個以語言環境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時間格式來運行
例如:
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
這一行代碼確立了轉換的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是時、分、秒。
注意:有的格式大寫,有的格式小寫,例如 MM 是月份,mm 是分;HH 是 24 小時制,而 hh 是 12 小時制。
以上實例編譯運行結果如下:
當前時間為: 2018-09-14 10:16:34
菜鳥教程-Java 日期時間