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

Java中Calendar類的一些常用方法小結

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

原理簡介

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

public abstract class Calendar 

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

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

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

方法2:調用其靜態(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 日,運行結果:

年:2018

月:2

日:12

時:15

分:57

秒:39

設置時間

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

可以這樣:

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

或者也可以單個字段一一設置:

    // 或者6個字段分別進行設置,由于月份下標從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());

打印的時間結果為:

? ? 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());

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

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

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

再比如 1 月 31 號的時候,月份加一,會出現怎樣結果:

    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());

運行結果:

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

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

總結

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

相關文章

  • 用java在web環(huán)境下上傳和下載文件的技巧

    用java在web環(huán)境下上傳和下載文件的技巧

    這篇文章主要介紹了用java在web環(huán)境下上傳和下載文件的技巧的相關資料
    2016-01-01
  • Spring的請求映射handlerMapping以及原理詳解

    Spring的請求映射handlerMapping以及原理詳解

    這篇文章主要介紹了Spring的請求映射handlerMapping以及原理詳解,我們每次發(fā)請求,它到底是怎么找到我們哪個方法來去處理這個請求,因為我們知道所有的請求過來都會來到DispatcherServlet,springboot底層還是使用的是springMVC,需要的朋友可以參考下
    2023-08-08
  • 關于Spring自定義XML schema 擴展的問題(Spring面試高頻題)

    關于Spring自定義XML schema 擴展的問題(Spring面試高頻題)

    今天給大家分享一道spring高頻率面試題關于Spring自定義XML schema 擴展的問題,今天以spring整合dubbo的實例給大家詳細講解下,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Java中的ClassLoader類加載器使用詳解

    Java中的ClassLoader類加載器使用詳解

    這篇文章主要介紹了Java中的ClassLoader類加載器使用詳解,ClassLoader用于將CLASS文件動態(tài)加載到JVM中去,是所有類加載器的基類,所有繼承自抽象的ClassLoader的加載器,都會優(yōu)先判斷是否被父類加載器加載過,防止多次加載,需要的朋友可以參考下
    2023-10-10
  • 教你Java中的Lock鎖底層AQS到底是如何實現的

    教你Java中的Lock鎖底層AQS到底是如何實現的

    本文是基于ReentrantLock來講解,ReentrantLock加鎖只是對AQS的api的調用,底層的鎖的狀態(tài)(state)和其他線程等待(Node雙向鏈表)的過程其實是由AQS來維護的,對Java?Lock鎖AQS實現過程感興趣的朋友一起看看吧
    2022-05-05
  • Java入門教程--帶包的類如何編譯與運行

    Java入門教程--帶包的類如何編譯與運行

    我們一般都是通過IDE(如Eclipse、Intellij Idea,STS等)來開發(fā),調試java項目。在不借助IDE的情況下,如何編譯、運行Java程序。打包編譯時,會自動創(chuàng)建包目錄,不需要自己新建包名文件夾。
    2022-12-12
  • 好用!解決maven包沖突的插件

    好用!解決maven包沖突的插件

    今天的主要內容是介紹一款插件,該插件的主要用途是當maven包沖突了以后,使用這款插件直接解決問題。
    2020-10-10
  • IDEA提示內存不足 low memory的完美解決方法(親測好用)

    IDEA提示內存不足 low memory的完美解決方法(親測好用)

    這篇文章主要介紹了IDEA提示內存不足 low memory的完美解決方法(親測好用),這里以IDEA2022版本為例,在IDE中 幫助(help)–>change memory setting(改變內存設置),具體設置辦法文中給大家詳細講解,需要的朋友可以參考下
    2023-01-01
  • java進行遠程部署與調試及原理詳解

    java進行遠程部署與調試及原理詳解

    這篇文章主要介紹了java進行遠程部署與調試及原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Spring DevTools的介紹

    Spring DevTools的介紹

    今天小編就為大家分享一篇關于Spring DevTools的介紹,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論

琼海市| 景德镇市| 米易县| 梁山县| 金阳县| 宁乡县| 南昌县| 华安县| 连山| 阿尔山市| 姜堰市| 沙雅县| 祁连县| 吴堡县| 绍兴县| 贵南县| 郁南县| 浪卡子县| 昌乐县| 福海县| 江达县| 吴川市| 盐山县| 博罗县| 柏乡县| 宜丰县| 磐石市| 百色市| 鹿泉市| 嘉鱼县| 盖州市| 禹州市| 革吉县| 霍州市| 瑞昌市| 衡山县| 浪卡子县| 宁海县| 郯城县| 宁河县| 香港 |