導航:首頁 > 編程語言 > java字元串日期比較

java字元串日期比較

發布時間:2023-06-02 08:02:05

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

}

運行結果如下:

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

Ⅱ java中,字元串類型的日期格式,如:「18:20:56」和「15:12:45」怎麼比較大小

字元串可以直接比較,日期型的話可以裝換成1970年1月1日起的長整型數字再來比較。

Ⅲ java中兩個字元串如何比較大小

有三種方法實現

第一種直接用字元串類的compareTo方法:

Stringt1="20131011";
Stringt2="20131030";
intresult=t1.compareTo(t2);

第二種是把這個日期字元串轉換成long:

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");
Dated1=sdf.parse(t1);
Dated2=sdf.parse(t2);
longresult=d1.getTime()-d2.getTime();

第三種是把日期字元串轉換成整形int:

intint1=Integer.parseInt(t1);
intint2=Integer.parseInt(t2);
intresult=int1-int2;

註:result大於0,則t1>t2;

result等於0,則t1=t2;

result小於0,則t1<t2;

Ⅳ java中如何比較兩個時間字元串的大小

一種思路:用 SimpleDateFormat 來處理,可以轉成long形式的,那是1970年1月1日起到現在的毫秒數。可以直接比大小了。

另外一種思路:因為你這里是用的補全格式(7月寫成了07),那麼可以直接字面轉了比較
public static void main(String[] _s) {
String str1 = "2010-07-16 12:00:00";
long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""));
System.out.println(longstr1);
}
這個結果是20100716120000,就這個意思,直接字面轉成long形式後比

Ⅳ 在java的程序里date類型怎麼比較大小呀

有兩個方法:

方法一:

兩個Date類型的變數可以通過compareTo方法來比較。此方法的描述是這樣的:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小於 0 的值;如果此 Date 在 Date 參數之後,則返回大於 0 的值。

(5)java字元串日期比較擴展閱讀:

Date類可以在java.util包中找到,用一個long類型的值表示一個指定的時刻。它的一個有用的構造函數是Date(),它創建一個表示創建時刻的對象。

getTime()方法返回Date對象的long值。在下面的程序中,我使用Date()構造函數創建一個表示程序運行時刻的對象,並且利用getTime()方法找到這個日期代表的毫秒數量:

import java.util.*;

public class Now {

public static void main(String[] args) {

Date now = new Date();

long nowLong = now.getTime();

System.out.println("Value is " + nowLong);

}

}

Ⅵ java字元串日期排序比較問題

排序么?

importjava.text.Format;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.Date;
importjava.util.List;

publicclassTest{
publicstaticvoidmain(Stringargs[]){

System.out.println("字元串比較");
test1();
System.out.println("Date比較");
test2();
}

privatestaticvoidtest1(){
List<String>data=init();

System.out.println("排序前"+data);

Collections.sort(data,newComparator<String>(){

publicintcompare(Stringo1,Stringo2){

String[]arr1=o1.split("_");
String[]arr2=o2.split("_");

intcomparator=toInt(arr1[0],-1)-toInt(arr2[0],-2);

if(comparator==0){
comparator=toInt(arr1[1],-1)-toInt(arr2[1],-2);
if(comparator==0){
returntoInt(arr1[2],-1)-toInt(arr2[2],-2);
}
}
returncomparator;
}
});
System.out.println("排序後"+data);
}

privatestaticvoidtest2(){
List<String>data=init();
System.out.println("排序前"+data);

finalFormatf=newSimpleDateFormat("yyyy-MM-dd");
Collections.sort(data,newComparator<String>(){

publicintcompare(Stringo1,Stringo2){

Dated1;
Dated2;
try{
d1=(Date)f.parseObject(o1);
d2=(Date)f.parseObject(o2);
returnd1.compareTo(d2);
}catch(Exceptione){
e.printStackTrace();
}

return0;
}
});
System.out.println("排序後"+data);
}

privatestaticList<String>init(){

List<String>data=newArrayList<String>();
data.add("2013-3-3");
data.add("2012-4-4");
returndata;
}

privatestaticinttoInt(Stringstr,intdelVal){
try{
returnInteger.parseInt(str);
}catch(Exceptione){
returndelVal;
}
}

}

字元串比較
排序前[2013-3-3, 2012-4-4]
排序後[2012-4-4, 2013-3-3]
Date比較
排序前[2013-3-3, 2012-4-4]
排序後[2012-4-4, 2013-3-3]

Ⅶ 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當做參數傳過去,將天數返回就可以

閱讀全文

與java字元串日期比較相關的資料

熱點內容
女兒與父系戀情小說 瀏覽:310
慾望的代價法國 瀏覽:916
安卓數據線為什麼會發熱 瀏覽:29
武林盟私密紀事txt百度雲 瀏覽:207
生孩子的片 瀏覽:491
韓國19禁電影大全 瀏覽:979
cad加密圖紙怎麼解鎖 瀏覽:170
免費爽文有聲小說 瀏覽:681
穿越古代巨肉的yy小說 瀏覽:81
貓眼電影實時票房 瀏覽:576
六七十年代科研強國文 瀏覽:408
霸道王子絕對命令全集 瀏覽:309
能在線看的網站 瀏覽:207
自動編譯設置java前端 瀏覽:903
找一本主角叫蘇晨的小說 瀏覽:847
壓縮包多長時間能解壓 瀏覽:370
小說男主叫江宴女主叫溫暖 瀏覽:455
有一部小說主角叫唐糖 瀏覽:302
找一部小說主角叫陸宇 瀏覽:402
受重生悔過的小說 瀏覽:959