當前位置:首頁 » 編程語言 » java日期對比

java日期對比

發布時間: 2023-12-18 17:54:55

java輸入的日期與當前的日期做比較

Java中日期時間比較
java.text.SimpleDateFormat 類 ----時間日期格式化
java.util.Date類 ----構造時間日期
java.util.Date類compareTo方法 ----比較日期時間
java中日期時間的比較要用到java.text.SimpleDateFormat 類和java.util.Date類compareTo方法,SimpleDateFormat類用於時間日期格式化,將日期時間格式化為制定的格式,compareTo方法用於比較日期時間。以下為我寫過的程序片段:

String data=doc.getItemValueString("fd_ngr");
//擬稿時間
String data4=data.substring(data.indexOf(' '),data.length());
int panan=data4.indexOf("-");
int panan1=data4.indexOf("/");
ec_dbsy=vi_dbsy.getAllEntries();
//構造日期格式yyyy-MM-NN
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter2 = new SimpleDateFormat("MM/dd/yyyy");
if(data4.length()!=0)
{
if (panan!=-1){
try {
Date date1 = formatter.parse(data4);
Date date0=new Date();
Date date2 =formatter.parse("2006-08-31");
Date date3=formatter.parse("2006-07-01");

int number1=date1.compareTo(date2);
int number2=date1.compareTo(date3);

//返回 0 表示時間日期相同
//返回 1 表示日期1>日期2
//返回 -1 表示日期1<日期2
if( number2==1)
{
if(number1==-1)
{
System.out.println("日期格式符合要求!");
System.out.println("日期格式符合要求的yyyy-MM-dd的文檔ID是:"+doc.getUniversalID());
String mPath="\\"+"\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw";
DaglImpl daglImpl = new DaglImpl();
daglImpl.addFW(doc,mPath); //歸檔處理

}
}

} catch (ParseException e) {
e.printStackTrace();
}
}

Ⅱ 如何正確比較日期 java.sql.Date

java.sql.Date比較:
import java.sql.Date;
例如今天是2010-12-2
Date d1 = new Date(System.currentTimeMili());
Date d2 = new Date(System.currentTimeMili()+1);//比d1晚1毫秒
日期上,我們認為d1和d2是相等的
但是
System.out.println(d1.before(d2));
輸出結果是true;
其實我們希望看到的是這兩個對象在日期上是相等的。
因為我們只關心「日期」,而「2010-12-2」不等於「2010-12-2」
這個結果顯然是我們所不能接受的。
究其原因,是因為Date內封裝了一個精確到毫秒的表示時間的
private transient long fastTime;
而before和after的函數的實現如下,都是判斷fastTime的值,所以達不到我們只比較日期的要求。
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
把日期格式成標準的「年月日」,然後對格式化後的對象進行比較,得到比較的結果
本文給出一種「格式成標准化」的方式
Date d1_temp = java.sql.Date.valueOf(d1.toString());
Date d2_temp = java.sql.Date.valueOf(d2.toString());
System.out.prinltn(d1_temp.equals(d2_temp));//輸出結果是true;
System.out.prinltn(d1_temp.before(d2_temp));//輸出結果是false;
System.out.prinltn(d1_temp.after(d2_temp));//輸出結果是false;
需要邏輯的話,可以寫成
if(d1_temp.before(d2_temp)){
.........
}

Ⅲ java如何比較具體時間

給你點思路吧

比如你要用2008-03-15和今天比較
1、取出兩個時間來,如果是從資料庫取出,最好使用java.sql.Timestamp格式的時間,現在時間為:Date now = new Date() ;
2、將取出的兩個時間進行格式化:使用java.text.SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd") ;//將日期格式化為:yyyy-MM-dd
String n = formatter.format(now) ; // 將當前時間進行格式化

3、比較:使用String類型的比較:compareTo // 看API
如:資料庫取出的時間如果是String類型的話,直接使用就行
如果取出的時間是Timestamp類型,將其轉化成String類型
formatter.format(資料庫的timestamp類型).compareTo(n);

以上是基本的一些操作,LZ可以根據自己的需求來改,我的主要的思路就是通過String 類型進行比較

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

}

運行結果如下:

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

熱點內容
python無線 發布:2024-11-30 15:24:49 瀏覽:359
安卓手機怎麼下符文之地 發布:2024-11-30 14:49:28 瀏覽:878
安卓ota在哪裡打開 發布:2024-11-30 14:46:55 瀏覽:102
mapreduce演算法 發布:2024-11-30 14:46:50 瀏覽:16
python的shell 發布:2024-11-30 14:46:49 瀏覽:730
變頻器什麼時候配置電抗器 發布:2024-11-30 14:46:37 瀏覽:700
官方版我的世界登錄網易伺服器 發布:2024-11-30 14:38:37 瀏覽:113
安卓手機沒電會出現什麼問題 發布:2024-11-30 14:37:31 瀏覽:984
unity3d加密dll 發布:2024-11-30 14:36:40 瀏覽:26
蘋果手機在哪裡可以置換安卓 發布:2024-11-30 14:36:34 瀏覽:469