如何比较两个Date对象哪个时间早晚?(本人初学,很小白的问题)

fgjxnxfgjjgyityyrete 2012-06-06 12:54:22
public class time implements compareTo<Date> 报错
{
Date a=new Date(2012,1,1);
Date b=new Date(2012,5,5);

a.compareTo(b);

}


我初学java几天,各种接口不熟悉,上面是胡写的。

查看了API,Date中有 compareTo(Date anotherDate) 比较两个日期的顺序。

返回值是int


想问下:这个compareTo 到底怎么用?是有现成的比较date的,还是得重写?

如果需要重写,请大家帮忙写几行吧。我真没写过

另外,返回值是int ,是不是 返回0就是相等? 返回大于1的是参数中的日期大(晚)还是?
...全文
375 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlu_lamp_lamp 2012-06-06
  • 打赏
  • 举报
回复
有个方法是返回long的一个数值,是从1970开始的毫秒数
用这两个数来比较就可以了
要想知道差多长时间,就把这个毫秒数一减,然后换算成你要的时分秒就可以了
java_lifei 2012-06-06
  • 打赏
  • 举报
回复
a.after(b) 或者 a.before(b) 返回boolean
xlhb 2012-06-06
  • 打赏
  • 举报
回复

public class Bijiao {
public static void main(String[] args) {
System.out.println(comt("2011-06-23", "2012-06-23"));
}

public static int comt(String a, String b) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1 = sdf.parse(a);
Date d2 = sdf.parse(b);
if (d1.getTime() > d2.getTime()) {
return 1;
} else {
if (d1.getTime() < d2.getTime()) {
return -1;
} else {
return 0;
}
}
} catch (Exception e) {

e.printStackTrace();
}
return 0;
}
}
huage 2012-06-06
  • 打赏
  • 举报
回复
直接有方法是得到毫秒,比较就是了撒 ,还知道具体查了好久呢
SpringHiSay 2012-06-06
  • 打赏
  • 举报
回复
public static void main(String[] args){
System.out.println(comt("2011-06-23","2012-06-23"));
}

public static int comt(String a,String b){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1=sdf.parse(a);
Date d2=sdf.parse(b);
if(d1.getTime()>d2.getTime())
{
return 1;
}
else{
return 0;
}
} catch (ParseException e) {

e.printStackTrace();
}
return 0;
}
看哈应该就懂了.
阿_伦 2012-06-06
  • 打赏
  • 举报
回复
换成分钟就可以了。。。。。。。。。。。
a395885670 2012-06-06
  • 打赏
  • 举报
回复
只是比较早晚的话 1楼正解
Date 对象属性constructor 返回对创建此对象Date 函数的引用。prototype 使您有能力向对象添加属性和方法。Date 对象方法getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear() 从 Date 对象以四位数字返回年份。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。getTime() 返回 1970 年 1 月 1 日至今的毫秒数。getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。getYear() 已废弃。 请使用 getFullYear() 方法代替。parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。setFullYear() 设置 Date 对象中的年份(四位数字)。setHours() 设置 Date 对象中的小时 (0 ~ 23)。setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。setMonth() 设置 Date 对象中月份 (0 ~ 11)。setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。setTime() setTime() 方法以毫秒设置 Date 对象。setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。setYear() 已废弃。请使用 setFullYear() 方法代替。toDateString() 把 Date 对象的日期部分转换为字符串。toGMTString() 已废弃。请使用 toUTCString() 方法代替。toISOString() 使用 ISO 标准返回字符串的日期格式。toJSON() 以 JSON 数据格式返回日期字符串。toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。toLocaleTimeString() 根据本地时间格式,把 Date 对象时间部分转换为字符串。toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。toString() 把 Date 对象转换为字符串。toTimeString() 把 Date 对象时间部分转换为字符串。toUTCString() 根据世界时,把 Date 对象转换为字符串。UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。valueOf() 返回 Date 对象的原始值。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧