`

java中比较两个日期Date的大小

 
阅读更多

第一种方式:

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("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;
    }
}

 

 

第二种方式:

       两个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); 

 

简单说明一下:

  SimpleDateFormat函数语法:
  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12)
  H 时 在一天中 (0~23)
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符 
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区

 

http://www.cnblogs.com/QQParadise/articles/1501420.html

http://blog.sina.com.cn/s/blog_4b3196670101bjyr.html

分享到:
评论

相关推荐

    日期比较大小

    日期比较大小,用于比较两个String类型的date的大小

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    用JAVA实现时间比较

    * 功能:比较两个日期的大小 */ public class CompareDate { /** * 比较两个日期大小的方法 * @param date1 * @param date2 * @return */ public static int compareTo(String date1,String date2){ ...

    计算时间差以及比较日期大小

    利用此可以计算java中的时间之差以及比较日期大小

    最全Java常用日期处理工具类

    9.比较两个时间的大小 HH:mm:ss 10.按用户格式字符串距离今天的天数 11.cron "0 06 10 15 1 ? 2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月...

    js比较日期控件的大小

    引入此js,调用方法传开始时间和结束时间比较两个日期的大小

    日期工具类

    14个常用的日期方法。1.获取当前时间,2.,...为时间减去分钟 ,10两个日期大小比较,11.判断时间是否超过一定的小时数 ,12获取当前日期往后一定的年数,13.计算两个日期之间相差的天数 ,14.字符串的日期格式的计算

    详解Java中格式化日期的DateFormat与SimpleDateFormat类

    DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法:

    AIC的Java课程1-6章

    (System.out对象封装了这两个方法)。 第10章 基本数据结构 4课时  了解和比较静态分配内存空间和动态分配内存空间,能够选择数组或链表表示线性结构。  掌握通过引用同类型对象(指针)实现...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    Android开发人员不得不收集的代码

    App相关→AppUtils.java ...获取两个时间差(单位:unit) getIntervalTime 获取当前时间 getCurTimeMills getCurTimeString getCurTimeDate 获取与当前时间的差(单位:unit) getIntervalByNow 判断闰年 isLeapYear

    Java 2实用教程(第三版)实验指导与习题解答

    实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31 实验2 字体对话框 34 实验3 ...

    freemarker语法完整版

    options包含两个属性 encoding="GBK" 编码格式 parse=true 是否作为ftl语法解析,默认是true,false就是以文本方式引入.注意在ftl文件里布尔值都是直接赋值 的如parse=true,而不是parse="true" 用例 /common/...

    Oracle9i的init.ora参数中文说明

    说明: 与 NLS_TIME_FORMAT 相似, 只不过它设置的是 TIMESTAMP 数据类型的默认值, 该数据类型既存储YEAR, MONTH 和 DAY 这几个日期值, 也存储 HOUR, MINUTE 和 SECOND 这几个时间值。 语法: TIMESTAMP '1997-01-31 ...

    freemarker总结

    可以看到例子中使用的两个同名变量并没有冲突,因为它们位于不同的名字空间 l 可以使用assign指令在导入的名字空间中创建或替代变量,下面是一个例子: ${my.mail} ${my.mail} l 输出结果: jsmith@...

    poi最新版本及收集的帮助资料

    感觉上面的操作比较的繁琐,然后就自己写了一个方法。这个方法不需要事先创建row和cell,直接进行cteateCell就可以了,在程序中会自动进行判断,如果不存在的话会创建。 private static void cteateCell...

    MySQL命令大全

    MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    MYSQL常用命令大全

    MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    2009达内SQL学习笔记

    当两个表有相同字段时必须加前缀,列名前需加表名和“.”,如“s_emp.id”。 1、用法:SELECT columns,prod2,prod3&lt;列&gt; FROM Table1,table2&lt;表名&gt; 分号结束 如: select id from s_emp; select last_name,name ...

    正则表达式

    正则表达式 /s$/ 包含两个字符. 第一个特殊字符 "s" 是按照字面意思与自身相匹配.第二个字符 "$" 是一个特殊字符,它所匹配的是字符串的结尾.所以正则表达式 /s$/ 匹配的就是以字母 "s" 结尾 的字符串. 1.直接量...

Global site tag (gtag.js) - Google Analytics