Java 中的 DateUtils 工具类(3)

108 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情

前面总结了 Java 中的 DateUtils 工具类的使用,今天把 DateUtils 工具类剩下的一点内容梳理完......

检查日期是否相同

  • public static boolean isSameDay(Date date1, Date date2)

说明:检查两个日期对象是否同一天忽略时间 (28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false.);
参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;
返回值:true,如果两个日期在同一天;
抛出异常:IllegalArgumentException 如果有一个日期为 null;

例:

    Date date1 = new Date(); 
    Date date2 = new Date();
    
    System.out.println(DateUtils.isSameDay(date1, date2));
    
结果:
    true
  • public static boolean isSameDay(Calendar cal1, Calendar cal2)

说明:检查两个日期对象是否同一天忽略时间 (28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false);
参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;
返回值:true,如果两个日期在同一天;
抛出异常:IllegalArgumentException 如果有一个日期为 null;

例:

    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    
    System.out.println(DateUtils.isSameDay(cal1, cal2));
    
结果:
    true
  • public static boolean isSameInstant(Date date1, Date date2)

说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数;
参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;
返回值:true,如果两个日期代表相同的毫秒时刻;
抛出异常:IllegalArgumentException 如果有一个日期为 null;

例:

    Date date1 = new Date();
    date1 = DateUtils.addMinutes(date1, 23);
    Date date2 = new Date();
    
    System.out.println(DateUtils.isSameInstant(date1, date2));
    
结果:
    false
  • public static boolean isSameInstant(Calendar cal1, Calendar cal2)

说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数;
参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;
返回值:true,如果两个日期代表相同的毫秒时刻;
抛出异常:IllegalArgumentException 如果有一个日期为 null;

例:

    Calendar cal1 = Calendar.getInstance();
    Date date3 = DateUtils.addHours(cal1.getTime(), 12);
    cal1.setTime(date3);
    Calendar cal2 = Calendar.getInstance();
    
    System.out.println(DateUtils.isSameInstant(cal1, cal2));
    
结果:
    false
  • public static boolean isSameLocalTime(Calendar cal1,Calendar cal2)

说明:检查两个日历对象是否表示相同的本地时间,此方法比较两个对象的字段值,另外两个日历必须为同一类型的日历;
参数:cal1-第一个参数,不能改变,非空;cal2-第二个参数,不能改变,非空;
返回值:true,如果两个日期代表相同的毫秒时刻;
抛出异常:IllegalArgumentException 如果有一个日期为 null;

例:

    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();

    System.out.println(DateUtils.isSameLocalTime(cal1, cal2));
    
结果:
    true

关于 DateUtils 工具类最后的这一些主要就是梳理当比较两个日期时怎么比较,在实际生产中还是比较实用的......
希望本文能够帮到你,如有错误,望指正!
我向你敬礼啊,Salute!