欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Date時間類的使用方法舉例

 更新時間:2023年08月30日 11:30:48   作者:webliuq  
這篇文章主要給大家介紹了關(guān)于Java中Date時間類的使用方法,在java開發(fā)中,很多字段是Date類型的,文中通過代碼示例將Date時間類使用的方法介紹的非常詳細,需要的朋友可以參考下

一、java.util.Date實例化介紹         

一)、Date對象實例化

//使用無參構(gòu)造器
Date date1 = new Date();
System.out.println(date1);
//使用有參構(gòu)造器,參數(shù)為long類型的時間戳,將時間戳自動轉(zhuǎn)為時間對象
Date date2 = new Date(60000);
System.out.println(date2);

運行結(jié)果:

Date 類的無參數(shù)構(gòu)造方法獲取的是系統(tǒng)當(dāng)前的時間,顯示的順序為星期、月、日、小時、分、秒、年。         

Date 類帶 long 類型參數(shù)的構(gòu)造方法獲取的是距離 GMT 指定毫秒數(shù)的時間, 60000 毫秒是一分鐘,而 GMT(格林尼治標(biāo)準(zhǔn)時間)與 CST (中央標(biāo)準(zhǔn)時間)相差 8 小時,也就是說 1970 年 1 月 1 日 00:00:00 GMT 與 1970 年 1 月 1 日 08:00:00 CST 表示的是同一時間。 因此距離 1970 年 1 月 1 日 00:00:00 CST 一 分鐘的時間為 1970 年 1 月 1 日 00:01:00 CST ,即使用 Date 對象表示為 Thu Jan 01 08:01:00 CST 1970 。        

二)設(shè)置Date對象指定日期 :

1、實例化對象時設(shè)置時間:

要想在實例化Date對象時直接告訴Date對象特定的時間,也就是說讓Date對象指向自己設(shè)定定的時間而非系統(tǒng)當(dāng)前時間。         

直接寫入年份和月份是得不到想要的結(jié)果的。因為java中Date是從1900年開始算的,所以第一個參數(shù)要填入你想要的年份后要減去1900,月需要減1,日可以直接插入。時分秒也可以直接插入。        

如果我們想要添加的時間需要精確到年月日時分秒,按順序依次按規(guī)則輸入即可。如果只需精確到年月日時分秒三個參數(shù)可以不填,系統(tǒng)默認(rèn)時分秒為00:00:00。 代碼演示:

//使用有參構(gòu)造器實例化對象
Date date4 = new Date(2023 - 1900, 6 - 1, 5, 6, 2, 4);
Date date5 = new Date(2023-1900, 6 - 1, 5);
System.out.println(date4);
System.out.println(date5);

運行結(jié)果展示:

以上兩種是傳入?yún)?shù),我們還可以用時間字符串來進行設(shè)置Date對象的時間值

1)使用特定的格式進行實例化并指定時間:

在使用此方法時必須按照“年/月/日 時:分:秒”此種順序和格式,例如:

Date date1= new Date("2023/6/16 11:40:00");
System.out.println(date1);

運行結(jié)果展示:

2、使用格式化工具進行時間Date時間設(shè)置

Date date1= new Date();
Date date2= new Date();
//聲名兩個格式化工具,并且設(shè)置格式化字符串格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//因為在格式化時,如果不按照指定格式進行輸入無法進行格式化會出現(xiàn)異常,所以用try-catch處理異常
try {
    date1 = sdf1.parse("2023年06月16日 19:17:00");
    date2 = sdf2.parse("2023-06-16 19:17:00");
}catch (Exception ignored){}
System.out.println(date1);
System.out.println(date2);

 運行結(jié)果展示:

三)將日期格式化輸出為中文狀態(tài)

以上輸出均為英文狀態(tài)下的,當(dāng)然我們可以是用日期格式話使輸出為中文狀態(tài),例:

Date date = new Date();
//格式化輸出
System.out.printf("%tF %<tT",date);

 輸出結(jié)果展示:

二、方法介紹

方法

描述

boolean after(Date when)

判斷此日期是否在指定日期之后

boolean before(Date when)

判斷此日期是否在指定日期之前

int compareTo(Date anotherDate)

比較兩個日期的順序(返回值為-1代表日期從小到大,返回值為1代表日期從大到?。?/p>

boolean equals(Object obj)

比較兩個日期的相等性

long getTime()

返回自 1970 年 1 月 1 日 00:00:00 GMT 以來,此 Date 對象表示的毫秒數(shù)

String toString()

把此 Date 對象轉(zhuǎn)換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 。 其 中 dow 是一周中的某一天 (Sun 、 Mon 、 Tue 、 Wed 、 Thu 、 Fri 及 Sat)

三、方法演示

1、boolean after(Date when)方法,判斷此日期是否在指定日期之后:

//從格林尼治時間1970年1月1日 00:00:00開始往后推60000毫秒
Date date2 = new Date(60000);
System.out.println(date2);
//System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
System.out.println(date3);
ystem.out.println(date2.after(date3));

運行結(jié)果:

2、 boolean before(Date when)方法,判斷此日期是否在指定日期之前:

Date date2 = new Date(60000);
System.out.println(date2);
//(System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
System.out.println(date3);
System.out.println(date2.before(date3));

 運行結(jié)果:

3、int compareTo(Date anotherDate)方法,比較兩個日期的順序(返回值為-1代表日期從小到大,返回值為1代表日期從大到小):

Date date2 = new Date(60000);
System.out.println(date2);
//(System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
System.out.println(date3);
System.out.println(date2.compareTo(date3));

 運行結(jié)果:

4、boolean equals(Object obj)方法,比較兩個日期的相等性:

Date date2 = new Date(60000);
System.out.println(date2);
//(System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
System.out.println(date3);
System.out.println(date2.equals(date3));

注:時間戳是從1970年1月1日開始累計到指定時間的毫秒數(shù)

 運行結(jié)果:

5、long getTime()方法,如果Date對象沒有指定時間則返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數(shù),如果Date對象指定時間則返回指定時間的時間戳(從1970年1月1日開始累計到指定時間的毫秒數(shù)):

//(System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
Date date6 = new Date("2023/6/16 11:40:00");
System.out.println(date3.toString());
System.out.println(date6.getTime());

運行結(jié)果:

6、String toString()方法,把此 Date 對象轉(zhuǎn)換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy。 其 中 dow 是一周中的某一天(Sun、Mon、Tue、Wed、Thu、Fri 及 Sat):

//(System.currentTimeMillis()獲得當(dāng)前系統(tǒng)時間戳
Date date3 = new Date(System.currentTimeMillis());
System.out.println(date3);
System.out.println(date3.toString());

運行結(jié)果:

此方法和直接輸出Date對象的結(jié)果沒有任何差異,因此在使用時我們很少使用。

總結(jié)

到此這篇關(guān)于Java中Date時間類的使用方法的文章就介紹到這了,更多相關(guān)Java Date時間類使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中property-placeholder的使用與解析詳解

    Spring中property-placeholder的使用與解析詳解

    本篇文章主要介紹了Spring中property-placeholder的使用與解析詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot中實現(xiàn)文件上傳、下載、刪除功能的步驟

    SpringBoot中實現(xiàn)文件上傳、下載、刪除功能的步驟

    本文將詳細介紹如何在 Spring Boot 中實現(xiàn)文件上傳、下載、刪除功能,采用的技術(shù)框架包括:Spring Boot 2.4.2、Spring MVC、MyBatis 3.5.6、Druid 數(shù)據(jù)源、JUnit 5 等,文中有詳細的操作步驟和示例代碼供大家參考,需要的朋友可以參考下
    2024-01-01
  • 淺談Java設(shè)計模式之七大設(shè)計原則

    淺談Java設(shè)計模式之七大設(shè)計原則

    在此之前,我已經(jīng)寫過很多篇關(guān)于設(shè)計模式的文章.但都比較草草的理解和簡單的實現(xiàn),并未深入理解.為了更加深入感受Java設(shè)計的魅力,編程的藝術(shù),今天進行了七大設(shè)計原則的學(xué)習(xí)理解,后續(xù)進行23種設(shè)計模式的深入學(xué)習(xí)探究,需要的朋友可以參考下
    2021-05-05
  • mybatisPlus填坑之邏輯刪除的實現(xiàn)

    mybatisPlus填坑之邏輯刪除的實現(xiàn)

    本文主要介紹了mybatisPlus填坑之邏輯刪除的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Rabbitmq消息推送功能實現(xiàn)示例

    Rabbitmq消息推送功能實現(xiàn)示例

    rabbitMQ為異步消息處理提出了一個很好的解決方案,它是一個非常好用的消息中間件。主要解決當(dāng)生產(chǎn)者大量產(chǎn)生數(shù)據(jù)時,消費者無法快速消費的問題。這個時候需要一個中間層,保存這個數(shù)據(jù),rabbitMQ是一個很好的解決方案
    2022-12-12
  • java操作時間方式基礎(chǔ)教程demo

    java操作時間方式基礎(chǔ)教程demo

    這篇文章主要為大家介紹了java操作時間方式demo基礎(chǔ)教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 如何解決@Data和@Builder的沖突問題

    如何解決@Data和@Builder的沖突問題

    在使用@Data和@Builder注解時,可能會導(dǎo)致無法使用無參構(gòu)造方法創(chuàng)建實體類實例的問題,本文提出了兩種解決方法:一是手動添加無參構(gòu)造并使用@Tolerate注解兼容;二是同時添加@AllArgsConstructor和@NoArgsConstructor注解,既添加無參構(gòu)造也添加全參構(gòu)造
    2024-10-10
  • Java設(shè)計模式中裝飾者模式應(yīng)用詳解

    Java設(shè)計模式中裝飾者模式應(yīng)用詳解

    裝飾者模式:在不改變原有對象的基礎(chǔ)之上,動態(tài)的將功能附加到對象上,提供了繼承更有彈性的替代方案,也體現(xiàn)了開閉原則。本文將通過示例詳細講解一下裝飾者模式,需要的可以參考一下
    2022-11-11
  • Java中異常打印輸出的常見方法總結(jié)

    Java中異常打印輸出的常見方法總結(jié)

    Java異常是在Java應(yīng)用中的警報器,下面這篇文章主要給大家介紹了關(guān)于Java中異常打印輸出的常見方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 解決springcloud-gateway限流遇到的問題

    解決springcloud-gateway限流遇到的問題

    這篇文章主要介紹了解決springcloud-gateway限流遇到的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論