最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?Date類的使用方式(日期處理)

 更新時(shí)間:2024年11月28日 09:09:17   作者:程序媛_小白  
本文介紹了Java中的Date類和Calendar類的使用,詳細(xì)講解了Date類的構(gòu)造方法和常用方法,并通過一個(gè)實(shí)例演示了如何使用Date類來比較兩個(gè)時(shí)間點(diǎn)之間的關(guān)系

Java Date類的使用

在Java中獲取當(dāng)前時(shí)間,可以使用 java.util.Date 類和 java.util.Calendar 類完成。

其中,Date 類主要封裝了系統(tǒng)的日期和時(shí)間的信息,Calendar 類則會(huì)根據(jù)系統(tǒng)的日歷來解釋 Date 對(duì)象。

下面詳細(xì)介紹Date類的具體使用。

Date 類

Date 類表示系統(tǒng)特定的時(shí)間戳,可以精確到毫秒。

Date 對(duì)象表示時(shí)間的默認(rèn)順序是星期、月、日、小時(shí)、分、秒、年。

1. 構(gòu)造方法

Date 類有如下兩個(gè)構(gòu)造方法。

  • Date():此種形式表示分配 Date 對(duì)象并初始化此對(duì)象,以表示分配它的時(shí)間(精確到毫秒),使用該構(gòu)造方法創(chuàng)建的對(duì)象可以獲取本地的當(dāng)前時(shí)間。
  • Date(long date):此種形式表示從 GMT 時(shí)間(格林尼治時(shí)間)1970 年 1 月 1 日 0 時(shí) 0 分 0 秒開始經(jīng)過參數(shù) date 指定的毫秒數(shù)。

這兩個(gè)構(gòu)造方法的使用示例如下:

Date date1 = new Date();    // 調(diào)用無參數(shù)構(gòu)造函數(shù)
System.out.println(date1.toString());    // 輸出:Wed May 18 21:24:40 CST 2016
Date date2 = new Date(60000);    // 調(diào)用含有一個(gè)long類型參數(shù)的構(gòu)造函數(shù)
System.out.println(date2);    // 輸出:Thu Jan 0108:01:00 CST 1970

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

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

因此距離 1970 年 1 月 1 日 00:00:00 CST 一分鐘的時(shí)間為 1970 年 1 月 1 日 00:01:00 CST,即使用 Date 對(duì)象表示為 Thu Jan 01 08:01:00 CST 1970。

2. 常用方法

Date 類提供了許多與日期和事件相關(guān)的方法,其中常見的方法如下表所示。

方法描述
boolean after(Date when)判斷此日期是否在指定日期之后
boolean before(Date when)判斷此日期是否在指定日期之前
int compareTo(Date anotherDate)比較兩個(gè)日期的順序
boolean equals(Object obj)比較兩個(gè)日期的相等性
long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以來,此 Date 對(duì)象表示的毫秒數(shù)
String toString()把此 Date 對(duì)象轉(zhuǎn)換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy。
其中 dow 是一周中的某一天(Sun、Mon、Tue、Wed、Thu、Fri 及 Sat)

例 1:

  • 下面使用一個(gè)實(shí)例來具體演示 Date 類的使用。
  • 假設(shè),某一天特定時(shí)間要去做一件事,而且那個(gè)時(shí)間已經(jīng)過去一分鐘之后才想起來這件事還沒有辦,這時(shí)系統(tǒng)將會(huì)提示已經(jīng)過去了多 長(zhǎng)時(shí)間。

具體的代碼如下:

import java.util.Date;
import java.util.Scanner;

public class Test11 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("請(qǐng)輸入要做的事情:");
        String title = input.next();
        Date date1 = new Date(); // 獲取當(dāng)前日期
        System.out.println("[" + title + "] 這件事發(fā)生時(shí)間為:" + date1);
        try {
            Thread.sleep(60000);// 暫停 1 分鐘
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        Date date2 = new Date();
        System.out.println("現(xiàn)在時(shí)間為:" + date2);
        if (date2.before(date1)) {
            System.out.println("你還有 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒需要去完成【" + title + "】這件事!");
        } else {
            System.out.println("【" + title + "】事情已經(jīng)過去了 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒");
        }
    }
}

在該程序中,分別使用 Date 類的無參數(shù)構(gòu)造方法創(chuàng)建了兩個(gè) Date 對(duì)象。

在創(chuàng)建完第一個(gè) Date 對(duì)象后,使用 Thread.sleep() 方法讓程序休眠 60 秒,然后再創(chuàng)建第二個(gè) Date 對(duì)象,這樣第二個(gè) Date 對(duì)象所表示的時(shí)間將會(huì)在第一個(gè) Date 對(duì)象所表示時(shí)間之后,因此“date2.before(date1)”條件表達(dá)式不成立,從而執(zhí)行 else 塊中的代碼,表示事情已經(jīng)發(fā)生過。

運(yùn)行該程序,執(zhí)行結(jié)果如下所示:

請(qǐng)輸入要做的事情:
收快遞
【收快遞】這件事發(fā)生時(shí)間為:Fri Oct 12 11:11:07 CST 2018
現(xiàn)在時(shí)間為:Fri Oct 12 11:12:07 CST 2018
【收快遞】事情已經(jīng)過去了 60 秒

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決mybatis返回boolean值時(shí)數(shù)據(jù)庫返回null的問題

    解決mybatis返回boolean值時(shí)數(shù)據(jù)庫返回null的問題

    這篇文章主要介紹了解決mybatis返回boolean值時(shí)數(shù)據(jù)庫返回null的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java?foreach在lambda的foreach遍歷中退出操作(lambda?foreach?break)

    Java?foreach在lambda的foreach遍歷中退出操作(lambda?foreach?break)

    本文詳細(xì)講解了在Java的中,特別是在使用forEach()方法時(shí),無法直接使用break或continue關(guān)鍵字來直接控制循環(huán)流程的問題,以及提供了三種解決方案,包括使用異常中斷、流式編程的limit()和原子布爾標(biāo)志位,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • java面試JDK8?new?ReentrantLock()加鎖流程解析

    java面試JDK8?new?ReentrantLock()加鎖流程解析

    這篇文章主要為大家介紹了java面試JDK8?new?ReentrantLock()加鎖流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • MyBatis-Plus框架整合詳細(xì)方法

    MyBatis-Plus框架整合詳細(xì)方法

    MyBatis-Plus是一個(gè) MyBatis 的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開發(fā)、提高效率而生這篇文章主要介紹了MyBatis-Plus框架整合,需要的朋友可以參考下
    2022-04-04
  • Java黑科技:replace首個(gè)替換一秒搞定

    Java黑科技:replace首個(gè)替換一秒搞定

    要實(shí)現(xiàn)只替換第一個(gè)匹配項(xiàng),可以使用Java中的String類的replaceFirst方法,該方法接受兩個(gè)參數(shù),第一個(gè)參數(shù)是要替換的字符串或正則表達(dá)式,第二個(gè)參數(shù)是替換后的字符串,需要的朋友可以參考下
    2023-10-10
  • intellij idea旗艦版解決學(xué)生無法注冊(cè)問題詳解

    intellij idea旗艦版解決學(xué)生無法注冊(cè)問題詳解

    這篇文章主要介紹了intellij idea旗艦版解決學(xué)生無法注冊(cè)問題詳解,文中通過圖文示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java實(shí)現(xiàn)簡(jiǎn)單堆棧代碼

    Java實(shí)現(xiàn)簡(jiǎn)單堆棧代碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單堆棧代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 有關(guān)于整體刷新和局部刷新frameset窗口

    有關(guān)于整體刷新和局部刷新frameset窗口

    本篇小編為大家介紹有關(guān)于整體刷新和局部刷新frameset窗口的方法,希望對(duì)有需要的朋友有所幫助。
    2013-04-04
  • spring cloud將spring boot服務(wù)注冊(cè)到Eureka Server上的方法

    spring cloud將spring boot服務(wù)注冊(cè)到Eureka Server上的方法

    本篇文章主要介紹了spring cloud將spring boot服務(wù)注冊(cè)到Eureka Server上的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 如何用java做一個(gè)word轉(zhuǎn)圖片的功能詳解

    如何用java做一個(gè)word轉(zhuǎn)圖片的功能詳解

    這篇文章主要給大家介紹了關(guān)于如何用java做一個(gè)word轉(zhuǎn)圖片的功能,通過實(shí)現(xiàn)Java Word轉(zhuǎn)圖片功能,避免PDF中間轉(zhuǎn)換損耗,涵蓋分頁處理、字體設(shè)置、性能優(yōu)化及替代方案對(duì)比,需要的朋友可以參考下
    2025-05-05

最新評(píng)論

安吉县| 垫江县| 玉田县| 渭南市| 本溪市| 霍林郭勒市| 安阳市| 龙泉市| 突泉县| 元阳县| 池州市| 牙克石市| 康平县| 嘉义县| 加查县| 双流县| 松阳县| 靖远县| 赤城县| 宾阳县| 库尔勒市| 潼南县| 临潭县| 天长市| 益阳市| 易门县| 承德市| 河曲县| 家居| 古蔺县| 安国市| 抚宁县| 金秀| 沙田区| 玛沁县| 宾阳县| 南丰县| 威信县| 呈贡县| 崇仁县| 乃东县|