你好,没有这样的函数。不过我可以给你一段比较的代码。希望对你有帮助。代码如下:import java.text.DateFormat;
专注于为中小企业提供成都网站制作、成都网站设计、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业江宁免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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输入三个日期比较大小有以下两种方法:
方式一:
String time1="2015-05-06 08:08:08";
String time2="2015-05-06 08:06:08";
try {
SimpleDateFormat foramt=new SimpleDateFormat("yyyy-MM-dd hh:MM:ss");
Date mDate1=foramt.parse(time1);
Date mDate2=foramt.parse(time2);
int result= mDate1.compareTo(mDate2);
} catch (ParseException e) {
e.printStackTrace();
}
方式二:
String time1="2015-05-06 08:08:08";
String time2="2015-05-06 08:06:08";
try {
SimpleDateFormat foramt=new SimpleDateFormat("yyyy-MM-dd hh:MM:ss");
Date mDate1=foramt.parse(time1);
Date mDate2=foramt.parse(time2);
long result=mDate1.getTime()-mDate2.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
思路就是根据它们相差的毫秒数除以每天的毫秒数(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+" 天");
}
运行结果如下:
扩展资料:
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官方API接口-Date
菜鸟教程-Java 日期时间
比较getTime获取的整数值大小即可,整数值大的时间就大,整数值小的时间就小
例如:
public int compareDate(Date d1,Date d2){
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;
}
}
还有:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Date_Test {
public static void main(String[] args) {
Date d1 = new Date(); //第一个时间
Date d2 = new Date(); //第二个时间
SimpleDateFormat f = new SimpleDateFormat("hhmmss"); //格式化为 hhmmss
int d1Number = Integer.parseInt(f.format(d1).toString()); //将第一个时间格式化后转为int
int d2Number = Integer.parseInt(f.format(d2).toString()); //将第二个时间格式化后转为int
if(d1Numberd2Number){
System.out.println("时间d1大");
System.out.println(d1Number);
}
else{
System.out.println("时间d2大");
System.out.println(d2Number);
}
}
}
public class test {
public static void main(String args[]) {
int i= compare_date("1995-11-12 15:21", "1999-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;
}
}