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

JAVA時間戳-Calendar類使用(包括set,get,add方法)

 更新時間:2024年04月15日 09:56:25   作者:冰冰很社恐  
這篇文章主要介紹了JAVA時間戳-Calendar類使用(包括set,get,add方法),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Calendar 類是一個抽象類,它為特定時間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。

瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

一、Calendar類

想要取得時間,首先使用Calendar的getInstance()取得一個Calendar的實例,例如:

Calendar c = Calendar.getInstance();

創(chuàng)建 Calendar 對象不能使用 new 關(guān)鍵字,因為 Calendar 類是一個抽象類,但是它提供了一個 getInstance() 方法來獲得 Calendar類的對象。

getInstance() 方法返回一個 Calendar 對象,其日歷字段已 由當前日期和時間初始化。

Calendar 類中定義了許多常量,分別表示不同的意義。

  • Calendar.YEAR:年份。
  • Calendar.MONTH:月份。
  • Calendar.DATE:日期。
  • Calendar.DAY_OF_MONTH:日期,和上面的字段意義完全相同。
  • Calendar.HOUR:12小時制的小時。
  • Calendar.HOUR_OF_DAY:24 小時制的小時。
  • Calendar.MINUTE:分鐘。 Calendar.SECOND:秒。
  • Calendar.DAY_OF_WEEK:星期幾。

二、Calendar類的常用方法

2.1 get()方法

獲取值

cal.get(Calendar.YEAR);//年
cal.get(Calendar.MONTH) + 1;//月(Calendar在月份上的常數(shù)值從0開始的)
cal.get(Calendar.DATE);//日
cal.get(Calendar.HOUR_OF_DAY);//時
cal.get(Calendar.MINUTE);//分
cal.get(Calendar.SECOND);//秒
cal.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情況下,周日是1)
cal.get(Calendar.DAY_OF_WEEK);//獲取當前是一周中的第幾天(從0開始計算)
cal.get(Calendar.DAY_OF_MONTH);//獲取當前是一月的第幾天
cal.get(Calendar.DAY_OF_YEAR);//獲取當前時一年中的第幾天

示例代碼如下:

public class CalandarTest {
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        //獲取當前年
        int year= cal.get(Calendar.YEAR);
        System.out.println(year);
        //獲取當前月(從0開始計算)
        int month= cal.get(Calendar.MONTH);
        System.out.println(month);
        //獲取當前日
        int date= cal.get(Calendar.DATE);
        System.out.println(date);
        //獲取當時小時
        int hour= cal.get(Calendar.HOUR);
        System.out.println(hour);
        //獲取當前分鐘數(shù)
        int minute= cal.get(Calendar.MINUTE);
        System.out.println(minute);
        //獲取當前秒數(shù)
        int second= cal.get(Calendar.SECOND);
        System.out.println(second);
        //獲取當前是一周中的第幾天(從0開始計算)
        int wday= cal.get(Calendar.DAY_OF_WEEK);
        System.out.println(wday);
        //獲取當前是一月的第幾天
        int mday= cal.get(Calendar.DAY_OF_MONTH);
        System.out.println(mday);
        //獲取當前時一年中的第幾天
        int yday= cal.get(Calendar.DAY_OF_YEAR);
        System.out.println(yday);
    }
}

2.2 set()方法

設(shè)置值(返回為日期對象)

cal.set(2023, 7, 15, 9, 44, 51);//年月日時分秒(月份0代表1月)
cal.set(Calendar.YEAR, 2023);//年
cal.set(Calendar.MONTH, 7);//月(月份0代表1月)
cal.set(Calendar.DATE, 11);//日
cal.set(Calendar.HOUR_OF_DAY, 15);//時
cal.set(Calendar.MINUTE, 33);//分
cal.set(Calendar.SECOND, 32);//秒

示例代碼如下:

public class CalandarTest {
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        //設(shè)置當前年
        cal.set(Calendar.YEAR,2022);
        System.out.printf("%tY%n",cal);
        //設(shè)置當前月(從0開始計算)
        cal.set(Calendar.MONTH,5);
        System.out.printf("%tm%n",cal);
        //設(shè)置當前日
        cal.set(Calendar.DATE,5);
        System.out.printf("%td%n",cal);
        //設(shè)置當時小時
        cal.set(Calendar.HOUR,14);
        System.out.printf("%tl%n",cal);
        //設(shè)置當前分鐘數(shù)
        cal.set(Calendar.MINUTE,50);
        System.out.printf("%tM%n",cal);
        //設(shè)置當前秒數(shù)
        cal.set(Calendar.SECOND,12);
        System.out.printf("%tS%n",cal);
    }
}

輸出結(jié)果如下:

2.3 add()方法

運算值(在獲取的當前時間進行運算,返回值為日期對象)

cal.add(Calendar.YEAR, 1);//年
cal.add(Calendar.MONTH, 1);//月
cal.add(Calendar.DATE, 1);//日
cal.add(Calendar.HOUR_OF_DAY, -1);//時
cal.add(Calendar.MINUTE, 1);//分
cal.add(Calendar.SECOND, 1);//秒
cal.add(Calendar.DATE, 7);//周

示例代碼如下:

public class CalandarTest {
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        //以當前年計算
        cal.add(Calendar.YEAR,2022);
        System.out.printf("%tY%n",cal);
        //以當前月(月份不從0開始計算)計算
        cal.add(Calendar.MONTH,5);
        System.out.printf("%tm%n",cal);
        //以當前日計算
        cal.add(Calendar.DATE,-5);
        System.out.printf("%td%n",cal);
        //以當時小時小時
        cal.add(Calendar.HOUR_OF_DAY,14);
        System.out.printf("%tl%n",cal);
        //以當前分鐘數(shù)計算
        cal.add(Calendar.MINUTE,-50);
        System.out.printf("%tM%n",cal);
        //以當前秒數(shù)計算
        cal.add(Calendar.SECOND,12);
        System.out.printf("%tS%n",cal);
        
    }
}

輸出結(jié)果如下:

三、格式化日期輸出 

Calendar類返回的時間類型為對象類型,為了方便輸出展示,在輸出時可以將日期格式化。

轉(zhuǎn)換符說明
%tH小時(00-23)
%tL小時(01-12)
%tk小時(0-23)
%tM分鐘(00-29)
%tS秒(00-59)
%tL毫秒(000-999)
%tN微秒(000000000-999999999)
%tp當前語言環(huán)境下的上午/下午
%ts從1970-01-01 00:00:00到現(xiàn)在的秒
%tQ從1970-01-01 00:00:00到現(xiàn)在的毫秒
%tF年-月-日
%tT時-分-秒
%tD月/日/年
%tc全部時間日期
%tR時分
%tr時分秒PM

總結(jié)

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

相關(guān)文章

  • Java服務限流算法的6種實現(xiàn)

    Java服務限流算法的6種實現(xiàn)

    服務限流是指通過控制請求的速率或次數(shù)來達到保護服務的目的,本文主要介紹了Java服務限流算法的6種實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-05-05
  • java Runtime如何執(zhí)行多條命令

    java Runtime如何執(zhí)行多條命令

    這篇文章主要介紹了java Runtime如何執(zhí)行多條命令,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java Map集合用法詳解

    Java Map集合用法詳解

    Map用于保存具有映射關(guān)系的數(shù)據(jù),Map集合里保存著兩組值,一組用于保存Map的ley,另一組保存著Map的value;Map集合和查字典類似,通過key找到對應的value,通過頁數(shù)找到對應的信息。用學生類來說,key相當于學號,value對應name,age,sex等信息。用這種對應關(guān)系方便查找
    2021-10-10
  • 高內(nèi)聚低耦合原則_動力節(jié)點Java學院整理

    高內(nèi)聚低耦合原則_動力節(jié)點Java學院整理

    耦合度就是某模塊(類)與其它模塊(類)之間的關(guān)聯(lián)、感知和依賴的程度,是衡量代碼獨立性的一個指標,也是軟件工程設(shè)計及編碼質(zhì)量評價的一個標準
    2017-08-08
  • Java中有界隊列的飽和策略(reject policy)原理解析

    Java中有界隊列的飽和策略(reject policy)原理解析

    這篇文章主要介紹了Java中有界隊列的飽和策略(reject policy)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Java 詳解包裝類Integer與int有哪些共通和不同

    Java 詳解包裝類Integer與int有哪些共通和不同

    這篇文章主要介紹的是 Java中int和Integer的區(qū)別,Java 是一種強數(shù)據(jù)類型的語言,因此所有的屬性必須有一個數(shù)據(jù)類型,下面文章基于Java詳細int和Integer有何區(qū)別,需要的朋友可以參考一下
    2022-04-04
  • java自定義ClassLoader加載指定的class文件操作

    java自定義ClassLoader加載指定的class文件操作

    這篇文章主要介紹了java自定義ClassLoader加載指定的class文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java8如何基于flatMap處理異常函數(shù)

    Java8如何基于flatMap處理異常函數(shù)

    這篇文章主要介紹了Java8如何基于flatMap處理異常函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java高級特性基礎(chǔ)之反射五連問

    Java高級特性基礎(chǔ)之反射五連問

    反射賦予了我們在運行時分析類以及執(zhí)行類中方法的能力。通過反射你可以獲取任意一個類的所有屬性和方法,你還可以調(diào)用這些方法和屬性。本文就來和大家詳細聊聊Java中的反射,感興趣的可以了解一下
    2023-01-01
  • SpringBoot如何讀取resources目錄下的文件

    SpringBoot如何讀取resources目錄下的文件

    這篇文章主要介紹了SpringBoot如何讀取resources目錄下的文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論