• Java 比较两个日期的方法


    Java 比较两个日期的方法

     

    Java的日期类型比较可以使用如下三种方法:

    1. 使用Date类的CompareTo方法
    2. 使用Date类的equals(), before() 和after()方法
    3. 使用Calendar类的equals(),before()和after()方法

    【Java代码】

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class HashtableDemo {
    
        public static void main(String args[]) throws AssertionError, ParseException {
    
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
    
            //comparing date using compareTo method in Java
            System.out.println("Comparing two Date in Java using CompareTo method");
            compareDatesByCompareTo(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
            compareDatesByCompareTo(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
            compareDatesByCompareTo(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
    
            //comparing dates in java using Date.before, Date.after and Date.equals
            System.out.println("Comparing two Date in Java using Date's before, after and equals method");
            compareDatesByDateMethods(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
            compareDatesByDateMethods(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
            compareDatesByDateMethods(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
    
            //comparing dates in java using Calendar.before(), Calendar.after and Calendar.equals()
            System.out.println("Comparing two Date in Java using Calendar's before, after and equals method");
            compareDatesByCalendarMethods(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
            compareDatesByCalendarMethods(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
            compareDatesByCalendarMethods(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
    
        }
    
        public static void compareDatesByCompareTo(DateFormat df, Date oldDate, Date newDate) {
            //how to check if date1 is equal to date2
            if (oldDate.compareTo(newDate) == 0) {
                System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
            }
    
            //checking if date1 is less than date 2
            if (oldDate.compareTo(newDate) < 0) {
                System.out.println(df.format(oldDate) + " is less than " + df.format(newDate));
            }
    
            //how to check if date1 is greater than date2 in java
            if (oldDate.compareTo(newDate) > 0) {
                System.out.println(df.format(oldDate) + " is greater than " + df.format(newDate));
            }
        }
    
        public static void compareDatesByDateMethods(DateFormat df, Date oldDate, Date newDate) {
            //how to check if two dates are equals in java
            if (oldDate.equals(newDate)) {
                System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
            }
    
            //checking if date1 comes before date2
            if (oldDate.before(newDate)) {
                System.out.println(df.format(oldDate) + " comes before " + df.format(newDate));
            }
    
            //checking if date1 comes after date2
            if (oldDate.after(newDate)) {
                System.out.println(df.format(oldDate) + " comes after " + df.format(newDate));
            }
        }
    
        public static void compareDatesByCalendarMethods(DateFormat df, Date oldDate, Date newDate) {
    
            //creating calendar instances for date comparision
            Calendar oldCal = Calendar.getInstance();
            Calendar newCal = Calendar.getInstance();
    
            oldCal.setTime(oldDate);
            newCal.setTime(newDate);
    
            //how to check if two dates are equals in java using Calendar
            if (oldCal.equals(newCal)) {
                System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
            }
    
            //how to check if one date comes before another using Calendar
            if (oldCal.before(newCal)) {
                System.out.println(df.format(oldDate) + " comes before " + df.format(newDate));
            }
    
            //how to check if one date comes after another using Calendar
            if (oldCal.after(newCal)) {
                System.out.println(df.format(oldDate) + " comes after " + df.format(newDate));
            }
        }
    }

    运行结果

  • 相关阅读:
    组件化的使用
    MacOS 升级后pod 出现的问题
    协议(Protocol) 和代理(Delegate)
    分类(Category)的本质 及其与类扩展(Extension) /继承(Inherit)的区别
    KVC
    KVO的使用及底层实现
    OC对象的本质及分类
    大端小端
    为什么一个指针在32位系统中占4个字节,在64位系统中占8个字节?
    quarts之Cron表达式示例
  • 原文地址:https://www.cnblogs.com/Ren912/p/7155742.html
Copyright © 2020-2023  润新知