㈠ 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形式後比