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