亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中Calendar類的一些常用方法小結(jié)

 更新時間:2021年11月26日 09:55:25   作者:yx0628  
項目當中,我們經(jīng)常會涉及到對時間的處理,Date類最主要的作用就是獲得當前時間,同時這個類里面也具有設(shè)置時間以及一些其他的功能,但更推薦使用 Calendar 類進行時間和日期的處理,這篇文章主要給大家介紹了關(guān)于Java中Calendar類的一些常用方法,需要的朋友可以參考下

原理簡介

Java中提供了Calendar這個專門用于對日歷進行操作的類,那么這個類有什么特殊的地方呢,首先我們來看Calendar的聲明:

public abstract class Calendar 

	extends Objectimplements Serializable, Cloneable, Comparable<Calendar>{}

該類被abstract所修飾,說明該類是一個抽象類,所以不能直接通過new該類對象來進行實例化,為此Calendar類提供了兩種實例化方式:

方法1:通過創(chuàng)建其子類的對象(GregorianCalendar)的對象來進行實例化

方法2:調(diào)用其靜態(tài)方法getInstance()方法來進行實例化,以獲得此類型的一個通用的對象,getInstance方法返回一個Calendar對象(該對象為Calendar的子類所創(chuàng)建的對象),其日歷字段已由當前日期和時間初始化(通常都選擇方法2來進行實例化。)

Calendar nowTime = Calendar.getInstance();//使用默認時區(qū)和語言環(huán)境獲得一個日歷

?Calendar 類常用方法的記錄:

獲取時間

    // 使用默認時區(qū)和語言環(huán)境獲得一個日歷
    Calendar cal = Calendar.getInstance();
    // 賦值時年月日時分秒常用的6個值,注意月份下標從0開始,所以取月份要+1
    System.out.println("年:" + cal.get(Calendar.YEAR));
    System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));       
    System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
    System.out.println("時:" + cal.get(Calendar.HOUR_OF_DAY));
    System.out.println("分:" + cal.get(Calendar.MINUTE));
    System.out.println("秒:" + cal.get(Calendar.SECOND));

今天是 2018 年 2 月 12 日,運行結(jié)果:

年:2018

月:2

日:12

時:15

分:57

秒:39

設(shè)置時間

月份的下標從 0 開始,設(shè)置時同樣需要注意,比如我們設(shè)置為 2 月 15 日除夕當晚的倒計時的最后一秒: 2018-02-15 23:59:59

可以這樣:

    Calendar cal = Calendar.getInstance();
    // 如果想設(shè)置為某個日期,可以一次設(shè)置年月日時分秒,由于月份下標從0開始賦值月份要-1
    // cal.set(year, month, date, hourOfDay, minute, second);
    cal.set(2018, 1, 15, 23, 59, 59);

或者也可以單個字段一一設(shè)置:

    // 或者6個字段分別進行設(shè)置,由于月份下標從0開始賦值月份要-1
    cal.set(Calendar.YEAR, 2018);
    cal.set(Calendar.MONTH, Calendar.FEBRUARY);
    cal.set(Calendar.DAY_OF_MONTH, 15);
    cal.set(Calendar.HOUR_OF_DAY, 23);
    cal.set(Calendar.MINUTE, 59);
    cal.set(Calendar.SECOND, 59);
    System.out.println(cal.getTime());

打印的時間結(jié)果為:

? ? Thu Feb 15 23:59:59 CST 2018

時間計算

add方法:

比如在除夕當晚最后一秒,add 一秒:

    Calendar cal = Calendar.getInstance();
    System.out.println(cal.getTime());
    cal.set(2018, 1, 15, 23, 59, 59);
    cal.add(Calendar.SECOND, 1);
    System.out.println(cal.getTime());

打印時間結(jié)果如下,日期會自動進入下一天:

? ? Thu Feb 15 23:59:59 CST 2018

? ? Fri Feb 16 00:00:00 CST 2018

再比如 1 月 31 號的時候,月份加一,會出現(xiàn)怎樣結(jié)果:

    Calendar cal = Calendar.getInstance();
    cal.set(2018, 1, 31, 8, 0, 0);
    System.out.println(cal.getTime());
    cal.add(Calendar.MONTH, 1);
    System.out.println(cal.getTime());

運行結(jié)果:

? ? Wed Jan 31 08:00:00 CST 2018

? ? Wed Feb 28 08:00:00 CST 2018

總結(jié)

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

相關(guān)文章

  • Java線程創(chuàng)建與Thread類的使用方法

    Java線程創(chuàng)建與Thread類的使用方法

    這篇文章主要介紹了Java線程創(chuàng)建與Thread類的使用方法,圍繞java多線程中Thread類的使用以及有關(guān)線程對象創(chuàng)建和常用方法的相關(guān)資料展開詳細內(nèi)容,具有一定的參考價值,需要的下伙伴可以參考一下
    2022-06-06
  • Java手寫線程池之向JDK線程池進發(fā)

    Java手寫線程池之向JDK線程池進發(fā)

    在前面的文章自己動手寫乞丐版線程池中,我們寫了一個非常簡單的線程池實現(xiàn),這個只是一個非常簡單的實現(xiàn),在本篇文章當中我們將要實現(xiàn)一個和JDK內(nèi)部實現(xiàn)的線程池非常相似的線程池,需要的可以了解一下
    2022-10-10
  • Java堆空間爆滿導(dǎo)致宕機的問題分析及解決

    Java堆空間爆滿導(dǎo)致宕機的問題分析及解決

    團隊有一個服務(wù),一直運行的好好的,突然訪問異常了,先是請求超時,然后直接無法訪問,本文將給大家介紹Java堆空間爆滿導(dǎo)致宕機的問題分析及解決,需要的朋友可以參考下
    2024-02-02
  • Spring遠程加載配置的實現(xiàn)方法詳解

    Spring遠程加載配置的實現(xiàn)方法詳解

    這篇文章主要介紹了Spring遠程加載配置的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習吧
    2023-03-03
  • Java中Http連接的兩種方式(小結(jié))

    Java中Http連接的兩種方式(小結(jié))

    這篇文章主要介紹了Java中Http連接的兩種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-09-09
  • Java Socket聊天室編程(二)之利用socket實現(xiàn)單聊聊天室

    Java Socket聊天室編程(二)之利用socket實現(xiàn)單聊聊天室

    這篇文章主要介紹了Java Socket聊天室編程(二)之利用socket實現(xiàn)單聊聊天室的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Java實現(xiàn)簡單碰撞檢測

    Java實現(xiàn)簡單碰撞檢測

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單碰撞檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例

    Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例

    這篇文章主要介紹了Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例,兩個類分別繼承于Reader和Writer,需要的朋友可以參考下
    2016-06-06
  • Java容器源碼LinkedList原理解析

    Java容器源碼LinkedList原理解析

    這篇文章主要介紹了Java容器源碼LinkedList原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-11-11
  • 詳解處理Java中的大對象的方法

    詳解處理Java中的大對象的方法

    本文我們將講解一下對于“大對象”的優(yōu)化。這里的“大對象”,是一個泛化概念,它可能存放在?JVM?中,也可能正在網(wǎng)絡(luò)上傳輸,也可能存在于數(shù)據(jù)庫中,快跟隨小編一起學(xué)習一下
    2022-04-04

最新評論