java比较date的大小
❶ java代码中怎么比较时间的大小
比较getTime获取的整数值大小即可,整数值大的时间就大,整数值小的时间就小
例如:
publicintcompareDate(Dated1,Dated2){
if(dt1.getTime()>dt2.getTime()){
System.out.println("dt1在dt2前");
return1;
}elseif(dt1.getTime()<dt2.getTime()){
System.out.println("dt1在dt2后");
return-1;
}else{//相等
return0;
}
}
还有:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDate_Test{
publicstaticvoidmain(String[]args){
Dated1=newDate();//第一个时间
Dated2=newDate();//第二个时间
SimpleDateFormatf=newSimpleDateFormat("hhmmss");//格式化为hhmmss
intd1Number=Integer.parseInt(f.format(d1).toString());//将第一个时间格式化后转为int
intd2Number=Integer.parseInt(f.format(d2).toString());//将第二个时间格式化后转为int
if(d1Number>d2Number){
System.out.println("时间d1大");
System.out.println(d1Number);
}
else{
System.out.println("时间d2大");
System.out.println(d2Number);
}
}
}
❷ 在java的程序里date类型怎么比较大小
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。
String DateStr1 = "2011-10-1 10:20:16";
String DateStr2 = "2011-10-07 15:50:35";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dateTime1 = dateFormat.parse(DateStr1);
Date dateTime2 = dateFormat.parse(DateStr2);
int i = dateTime1.compareTo(dateTime2);
System.out.println(i < 0);
ps:感觉别人说的很清楚明了。学习!!!
❸ 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.sql.Date
java.sql.Date比较:
import java.sql.Date;
例如今天是2010-12-2
Date d1 = new Date(System.currentTimeMili());
Date d2 = new Date(System.currentTimeMili()+1);//比d1晚1毫秒
日期上,我们认为d1和d2是相等的
但是
System.out.println(d1.before(d2));
输出结果是true;
其实我们希望看到的是这两个对象在日期上是相等的。
因为我们只关心“日期”,而“2010-12-2”不等于“2010-12-2”
这个结果显然是我们所不能接受的。
究其原因,是因为Date内封装了一个精确到毫秒的表示时间的
private transient long fastTime;
而before和after的函数的实现如下,都是判断fastTime的值,所以达不到我们只比较日期的要求。
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
把日期格式成标准的“年月日”,然后对格式化后的对象进行比较,得到比较的结果
本文给出一种“格式成标准化”的方式
Date d1_temp = java.sql.Date.valueOf(d1.toString());
Date d2_temp = java.sql.Date.valueOf(d2.toString());
System.out.prinltn(d1_temp.equals(d2_temp));//输出结果是true;
System.out.prinltn(d1_temp.before(d2_temp));//输出结果是false;
System.out.prinltn(d1_temp.after(d2_temp));//输出结果是false;
需要逻辑的话,可以写成
if(d1_temp.before(d2_temp)){
.........
}
❺ java输入三个日期比较大小该怎么做
输入要比较的日期以及代码。
❻ java中date类型怎么比较大小
date 实现了Comparable 接口 调用compareTo(Date date)方法可以比较大小。
例如:比较date1 和 date2的大小
int res = date1.compareTo(date2),相等则返回0,date1大返回1,否则返回-1。