日期的比较

最近我在上班的时候的看到一些跟童鞋问道:怎么去比较两个时间的大小呢。昨天的时候,我不太在意这个问题。
可是真正让我自己去完成这个小小的程序,会不会吃力呢。我也算是一个初学者,java方面的书籍是看了不少,可是动手能力方面真的有所欠缺。
因此,我利用一些时间来整理一下自己学习过的的东西。
下面是关于日期比较的方法。
方法实现有多种,我个人认为将日期的年月日转化为整形地数值,然后两者进行相减则可以比较。
另外也可以利用java.util.Calendar类中getTimeInMillis()[color=red](说明:方法返回此 Calendar 的时间值,以毫秒为单位。)[/color] 方法将时间转化为毫秒。然后相减,同样可以,一下就是这个方法来实现的。

package com.qj87;

import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Calendar;
/**
*
* @author qinjie
* @file_name DateCompare
* @create_time 2010-08-10 13:13
*
*/

public class DateCompare {
public static void main(String[] arg) {
long num = 0;
String date = "2010-08-05";// 初始化某个时间点
DateFormat dateFormat = DateFormat.getDateInstance(); // 创建DateFormat对象初始化为系统当前值
Calendar calendar = Calendar.getInstance();
Calendar calendar1 = Calendar.getInstance();// 创建Calendar对象初始化为系统当前值
try {
Date date1 = dateFormat.parse(date);// 将字符串转化成Date形式
calendar.setTime(date1);// 用获得的Date设置calendar
calendar.add(Calendar.HOUR_OF_DAY, 24);// 某时间点24小时后的时间的Calendar对象
Date time = calendar.getTime();
System.out.println(time);
num = calendar1.getTimeInMillis() - calendar.getTimeInMillis();// 进行比较,两者具体相差多少毫秒
System.out.println(num);
num = calendar1.compareTo(calendar);// 比较两个时间的先后calendar1是当前时间calendar是你指定的时间
if (num == 0)
System.out.println("calendar=calendar1");
if (num < 0)
System.out.println("calendar>calendar1");
if (num > 0)
System.out.println("calendar<calendar1");
}

catch (ParseException e) {
e.printStackTrace();
System.out.print("无法比较");
}
}
}


输出结果如下:

[color=red]
Fri Aug 06 00:00:00 CST 2010
393225203
calendar<calendar1
[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值