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

java日期字元串比較

發布時間:2022-09-14 07:15:41

java 兩個時間樣式的字元串對比如:2015-11-02 與 2015/11/23 怎樣對比其大小

importjava.util.Calendar;
importjava.util.Date;

publicclassCat
{
privatestaticDategetD(Stringdate)
{
String[]arr=date.split("[^\d]+");
Calendarcalendar=Calendar.getInstance();
calendar.set(Integer.parseInt(arr[0]),Integer.parseInt(arr[1])-1,Integer.parseInt(arr[2]));
returncalendar.getTime();
}

publicstaticvoidmain(String[]args)
{
Dated1=getD("2015-11-02");
Dated2=getD("2015/11/23");
if(d1.compareTo(d2)<0)
{
System.out.println("d1在d2前");
}
elseif(d1.compareTo(d2)>0)
{
System.out.println("d1在d2後");
}
else
{
System.out.println("一樣");
}
}
}

㈡ 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怎麼比較兩個日期(年和月)的大小

你好,沒有這樣的函數。不過我可以給你一段比較的代碼。希望對你有幫助。代碼如下:import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; /**
*
* @author hp
*/
public class test { public static void main(String args[]) {
int i= compare_date("2009-11-12 15:21", "2009-12-11 09:59");
System.out.println("i=="+i);
} public static int compare_date(String DATE1, String DATE2) {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2後");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
}

㈣ 如何用java代碼比較兩個日期

首先 按照一定的格式輸入兩個日期的字元串
然後用SimpleDateFormat類轉換成Date實例date1, date2
然後
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
這樣你就有了兩個表示所輸入日期的Calendar實例了

Calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareTo(cal2)來比較兩個日期時間先後
比如cal.get(Calendar.YEAR)可以得到表示該日期年份的整數
同理cal.get(Calendar.MONTH)可以得到月份
甚至可以用cal.getTimeInMillis()得到表示該日期的毫秒數

有了這些方法,簡單的計算之後就可以得到需要的相差的信息

如果樓主是來求現成的源代碼的- - 我沒有

㈤ 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中兩個字元串如何比較大小

有三種方法實現

第一種直接用字元串類的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中,字元串類型的日期格式,如:「18:20:56」和「15:12:45」怎麼比較大小

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

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

int1
int2
long
t1="=
result
20131011"Integer;SimpleDateFormat("
有三種方法實現
第一種直接用字元串類的compareTo方法;
t1;
int
yyyyMMdd"
result小於0;
);
 .parseInt(t2);int
int1-int2;Date ;
sdf;d1
SimpleDateFormat
 .getTime();int
result
sdf;
注;Integer:
result等於0,則t1=t2.compareTo(t2);t2;
;Date
=
d2
= :
t2="
d1.getTime()-d2;=
第二種是把這個日期字元串轉換成long;=
 .parse(t2);
=
 ;
String
t2:
 .parseInt(t1);
result
String
int
new
,則t1>
sdf
= ,則t1<
第三種是把日期字元串轉換成整形int:result大於0.parse(t1);20131030"

㈨ 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日期字元串比較相關的資料

熱點內容
壓縮因子定義 瀏覽:968
cd命令進不了c盤怎麼辦 瀏覽:214
葯業公司招程序員嗎 瀏覽:974
毛選pdf 瀏覽:659
linuxexecl函數 瀏覽:727
程序員異地戀結果 瀏覽:374
剖切的命令 瀏覽:229
干什麼可以賺錢開我的世界伺服器 瀏覽:290
php備案號 瀏覽:990
php視頻水印 瀏覽:167
怎麼追程序員的女生 瀏覽:487
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328