導航:首頁 > 編程語言 > java兩個日期相隔天數

java兩個日期相隔天數

發布時間:2021-10-25 06:11:49

A. 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);
希望可以幫到你。

B. java中怎樣計算兩個日期之間的天數

/**
* 計算兩個時間之間的差值,根據標志的不同而不同
*
* @param flag
* 計算標志,表示按照年/月/日/時/分/秒等計算
* @param calSrc
* 減數
* @param calDes
* 被減數
* @return 兩個日期之間的差值
*/
public static int dateDiff(char flag, Calendar calSrc, Calendar calDes) {

long millisDiff = getMillis(calSrc) - getMillis(calDes);

if (flag == 'y') {
return (calSrc.get(calSrc.YEAR) - calDes.get(calDes.YEAR));
}

if (flag == 'd') {
return (int) (millisDiff / DAY_IN_MILLIS);
}

if (flag == 'h') {
return (int) (millisDiff / HOUR_IN_MILLIS);
}

if (flag == 'm') {
return (int) (millisDiff / MINUTE_IN_MILLIS);
}

if (flag == 's') {
return (int) (millisDiff / SECOND_IN_MILLIS);
}

return 0;
}

// 以毫秒錶示的時間
private static final long DAY_IN_MILLIS = 24 * 3600 * 1000;
private static final long HOUR_IN_MILLIS = 3600 * 1000;
private static final long MINUTE_IN_MILLIS = 60 * 1000;
private static final long SECOND_IN_MILLIS = 1000;

參考代碼,flag參數傳入d就可以。

C. java怎麼計算兩個日期相差幾天

java可以使用計算日期的天數差,以下是詳細代碼:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test16 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1=sdf.parse("2012-09-08 10:10:10");
Date d2=sdf.parse("2012-09-15 00:00:00");
System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
}

/**
* 計算兩個日期之間相差的天數
* @param smdate 較小的時間
* @param bdate 較大的時間
* @return 相差天數
* @throws ParseException
*/
public static int daysBetween(Date smdate,Date bdate) throws ParseException
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

/**
*字元串的日期格式的計算
*/
public static int daysBetween(String smdate,String bdate) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(smdate));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

}

D. Java 判斷兩個日期相差多少天

沒有這樣的函數,但是你自己可以封裝一個這樣的函數。
一般來說,並不計算兩個日期內相差的月數以及年數容,因為月的天數以及年的天數並不是固定的,所以很多倒計時最多計算到天。
函數體:
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String a="20140301";
String b = "20140225";
Long c = sf.parse(b).getTime()-sf.parse(a).getTime();
long d = c/1000/60/60/24;//天
System.out.println(d+"天");
只要將a,b當做參數傳過去,將天數返回就可以

E. java怎麼算兩個datetime之間的天數,分別是哪天

Date類大多已過時,要用Calender替代
Calender c=Calender.getInstance();
Date d=c.getTime();//這個相當於new Date(),當前日期
昨天的日期:
c.add(Calender.DAY_OF_MONTH,-1);
Date d=c.getTime();
明天的日期:
c.add(Calender.DAY_OF_MONTH,1);
Date d=c.getTime();
上個月的日期:
c.add(Calender.MONTH,-1);
Date d=c.getTime();
去年的日期:
c.add(Calender.YEAR,-1);
Date d=c.getTime();

單獨獲取年、月、日、小時等:
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH);
int day=c.get(Calender.DAY_OF_MONTH);
int hour=c.get(Calender.HOUR_OF_DAY);//這個是24小時制
int hour=c.get(Calender.HOUR);//這個是12小時制

計算兩個日期間的天數
SimpleDateFormat df=new SimpleDateFormat(「yyyy-MM-dd」);
Date date1=df.parse(「2014-02-02」);
Date date2=df.parse(「2014-01-02」);
Longdays=(date1.getTime()-date2.getTime)/(24*60*60*1000)

F. 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+" 天");

}

運行結果如下:

(6)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 日期時間

G. 求助java獲取兩個日期之間相隔中間的天數

package com.jiajia.filedemo; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 8 public class Demo3 { 9 10 11 private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");12 13 public static void main(String []args) throws Exception{14 String first = "1995-9-2";15 String second = "2017-3-22";16 Date firstdate = format.parse(first);17 Date seconddate = format.parse(second);18 int cnt = longOfTwoDate(firstdate, seconddate);19 System.out.println(cnt);20 }21 22 public static int longOfTwoDate(Date first,Date second) throws ParseException{23 Calendar calendar = Calendar.getInstance();24 calendar.setTime(first);25 int cnt = 0;26 while(calendar.getTime().compareTo(second)!=0){27 calendar.add(Calendar.DATE, 1);28 cnt++;29 }30 return cnt;31 }32 }

H. java如何計算兩個日期之間相差的天數

看完了jdk的help,發現sun沒有提供這樣的一個函數,朋友給了幾個實現方法//取得剩餘天數
SimpleDateFormat df=new SimpleDateFormat("yyyymmdd");
Date d0=new java.util.Date();
Date d1=df.parse(end_date);
long time0=d0.getTime();
long time1=d1.getTime();
System.out.println((time1-time0)/(1000*60*60*24)); 這樣算兩個時間相差的天數比較好 /**
* 計算兩個日期之間相差的天數** @param date1
* @param date2* @return*/public static int diffdates(Date date1, Date date2) {
int result = 0;
ElapsedTime et = new ElapsedTime(); GregorianCalendar gc1 = new GregorianCalendar();
GregorianCalendar gc2 = new GregorianCalendar(); gc1.setTime(date1);
gc2.setTime(date2);
result = et.getDays(gc1, gc2); return result;}然後ElapseTime中的方法是:
public int getDays(GregorianCalendar g1, GregorianCalendar g2) {
int elapsed = 0;
GregorianCalendar gc1, gc2; if (g2.after(g1)) {
gc2 = (GregorianCalendar) g2.clone();
gc1 = (GregorianCalendar) g1.clone();} else {gc2 = (GregorianCalendar) g1.clone();
gc1 = (GregorianCalendar) g2.clone();
} gc1.clear(Calendar.MILLISECOND);
gc1.clear(Calendar.SECOND);
gc1.clear(Calendar.MINUTE);
gc1.clear(Calendar.HOUR_OF_DAY); gc2.clear(Calendar.MILLISECOND);
gc2.clear(Calendar.SECOND);
gc2.clear(Calendar.MINUTE);
gc2.clear(Calendar.HOUR_OF_DAY); while (gc1.before(gc2)) {
gc1.add(Calendar.DATE, 1);elapsed++;}return elapsed;}其實使用joda最簡單public boolean isRentalOvere(DateTime datetimeRented) {

I. 用java計算出兩個日期之間相差多少天

java可以使用計算日期的天數差,以下是詳細代碼:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test16 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1=sdf.parse("2012-09-08 10:10:10");
Date d2=sdf.parse("2012-09-15 00:00:00");
System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
}

/**
* 計算兩個日期之間相差的天數
* @param smdate 較小的時間
* @param bdate 較大的時間
* @return 相差天數
* @throws ParseException
*/
public static int daysBetween(Date smdate,Date bdate) throws ParseException
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

/**
*字元串的日期格式的計算
*/
public static int daysBetween(String smdate,String bdate) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(smdate));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

}

J. 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兩個日期相隔天數相關的資料

熱點內容
林凡小說主角穿越系統 瀏覽:296
怎麼把所有文件合成一個pdf文件 瀏覽:214
喪屍圍城32號升級檔 瀏覽:936
激情戲大電影 瀏覽:175
女主遭受婦刑小說 瀏覽:413
成龍哪部電影jj露出來了 瀏覽:691
武漢城市職業學院工業網路技術 瀏覽:310
韓圍愛情動漫電影推薦 瀏覽:536
國產跟狗有關的電影 瀏覽:991
香港鬼片女警照鏡子被附身 瀏覽:974
韓國電影兒子喜歡風塵女 瀏覽:555
arcgisjs移動 瀏覽:467
香港三點全漏電影 瀏覽:470
神偷奶爸1中英文字幕 瀏覽:139
可以搜文件也可以讀的軟體 瀏覽:860
韓國電影一個男的當鴨的叫什麼 瀏覽:580
appconfig配置文件連接資料庫 瀏覽:732
正宗三級武俠電影 瀏覽:313
宅男看片在線 瀏覽:240
有沒有直接可以看的網址 瀏覽:857

友情鏈接