Java的程序里date類型怎么比較大小? 創建指定Date


在java開發中,很多字段是Date類型的,當需要我們給時間一個默認值的時候,該怎么寫呢,怎么寫一個指定的時間呢?一般有兩個方法:


1.  new Date(year,month,day);   這種方法是廢棄掉的,不建議使用


2.用 Calendar,如下:


      Calendar calendar=Calendar.getInstance();
       calendar.set(2015, 10, 12);  //年月日  也可以具體到時分秒如calendar.set(2015, 10, 12,11,32,52); 
       Date date=calendar.getTime();//date就是你需要的時間

通過java.util.Calendar類的靜態方法getInstance()獲得一個日歷類實例,然后調用此實例的set(int year, int month, int date)

設置日歷字段 YEAR、MONTH 和 DAY_OF_MONTH 的值,然后調用實例的getTime()方法可以獲得指定日期的Date對象

 

3.

new一個java.util.SimpleDateFormat類的實例,構造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示兩位月份,dd表示兩位日期。然后通過調用這個SimpleDateFormat實例的parse方法可以解析獲得指定日期的Date對象。

代碼示例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date d = sdf.parse("2014-03-02");
————————————————
版權聲明:本文為CSDN博主「打不死的little強」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_32862641/article/details/114083608

 

 

 

在java的程序里比較date類型的方法如下:
1、java.util.Date類實現了Comparable接口,可以直接調用Date的compareTo()方法來比較大小,compareTo()方法的返回值,date1小於date2返回-1,date1大於date2返回1,相等返回0如下。

String beginTime = "2018-07-28 14:42:32";

String endTime = "2018-07-29 12:26:32";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

    Date date1 = format.parse(beginTime);
    
    Date date2 = format.parse(endTime);
    
    int compareTo = date1.compareTo(date2);
    
    System.out.println(compareTo);

} catch (ParseException e) {

    e.printStackTrace();

}

 

2、通過Date自帶的before()或者after()方法比較,如下。

String beginTime = "2018-07-28 14:42:32";

String endTime = "2018-07-29 12:26:32";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

    Date date1 = format.parse(beginTime);
    
    Date date2 = format.parse(endTime);
    
    boolean before = date1.before(date2);
    
    System.out.println(before);

} catch (ParseException e) {

	e.printStackTrace();

}

 

3、通過調用Date的getTime()方法獲取到毫秒數來進行比較,如下。

String beginTime = "2018-07-28 14:42:32";

String endTime = "2018-07-29 12:26:32";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

    Date date1 = format.parse(beginTime);
    
    Date date2 = format.parse(endTime);
    
    long beginMillisecond = date1.getTime();
    
    long endMillisecond = date2.getTime();
    
    System.out.println(beginMillisecond > endMillisecond);

} catch (ParseException e) {

    e.printStackTrace();

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM