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

java日期加減Calendar日歷類型常見(jiàn)問(wèn)題

 更新時(shí)間:2025年08月02日 11:04:30   作者:船_.  
Java中可使用Calendar類進(jìn)行日期加減及字段操作,SimpleDateFormat用于日期格式化,需注意異常處理以確保程序穩(wěn)定性

Java中,我們可以使用Calendar類來(lái)進(jìn)行日期的加減操作。

常見(jiàn)的方法如下:

獲取當(dāng)前日期

Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

日期加減

// 加一天
calendar.add(Calendar.DAY_OF_MONTH, 1);
// 減一天
calendar.add(Calendar.DAY_OF_MONTH, -1);
// 加一小時(shí)
calendar.add(Calendar.HOUR_OF_DAY, 1);
// 減一小時(shí)
calendar.add(Calendar.HOUR_OF_DAY, -1);
// 加一分鐘
calendar.add(Calendar.MINUTE, 1);
// 減一分鐘
calendar.add(Calendar.MINUTE, -1);

獲取指定日期的某個(gè)字段值

// 獲取年份
int year = calendar.get(Calendar.YEAR);
// 獲取月份(注意:月份從0開(kāi)始,所以需要加1)
int month = calendar.get(Calendar.MONTH) + 1;
// 獲取日期
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 獲取小時(shí)
int hour = calendar.get(Calendar.HOUR_OF_DAY);
// 獲取分鐘
int minute = calendar.get(Calendar.MINUTE);
// 獲取秒
int second = calendar.get(Calendar.SECOND);

獲取指定日期的某個(gè)字段的最大值

// 獲取當(dāng)前月份的最大天數(shù)
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

1、SimpleDateFormat類

		Date date = new Date();
 
		SimpleDateFormat spf = new SimpleDateFormat("yyyy年-MM月-dd日:HH時(shí)-mm分-ss秒");
 
		System.out.println(spf.format(date));

        //輸出為:
        
        2021年-7月-14日:17時(shí)-15分-53秒

2、Calendar類

package com.hp.date;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarDemo{
    public static void main(String[] args) throws Exception {
        //獲取獲取系統(tǒng)的當(dāng)前日歷對(duì)象
        Calendar instance = Calendar.getInstance();

        //1、獲取今天是周幾
        int weekDay = instance.get(Calendar.DAY_OF_WEEK);
        System.out.println("今天是周:" + (weekDay - 1));

        //2、獲取系統(tǒng)當(dāng)前年
        int year = instance.get(Calendar.YEAR);
        System.out.println("今年是:" + year + "年");

        //3、獲取系統(tǒng)當(dāng)前月
        int month = instance.get(Calendar.MONTH);
        System.out.println("本月是:" + (month + 1) + "月");

        //4、獲取系統(tǒng)當(dāng)前日
        int day = instance.get(Calendar.DATE);
        System.out.println("今天是" + day + "號(hào)");

        //5、獲取上午跟下午
        int am_pm = instance.get(Calendar.AM_PM);
        if (am_pm == 0)
            System.out.println("是上午");
        else
            System.out.println("是下午");

        //6、獲取當(dāng)前的系統(tǒng)時(shí)間[date-->String]的過(guò)程
        Date time = instance.getTime();//獲取的是當(dāng)前系統(tǒng)的時(shí)間
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String showTime = format.format(time);
        System.out.println("當(dāng)前系統(tǒng)時(shí)間為:" + showTime);

        //7、自定義日歷的時(shí)間
        String strTime = "2021-07-07";
        Date date = new SimpleDateFormat("yyyy-MM-dd").parse(strTime);
        instance.setTime(date);//將時(shí)間對(duì)象data設(shè)置為新的日歷
        System.out.println("修改后的系統(tǒng)時(shí)間為:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(instance.getTime()));
    }
    
  		System.out.println("------------Calendar和Date轉(zhuǎn)換------------");
        Date now = calendar.getTime();
        calendar.setTime(now);


        System.out.println("------------Calendar日期計(jì)算以及判斷------------");
        calendar = new GregorianCalendar();
        Calendar calendar2 = new GregorianCalendar();
        calendar2.set(Calendar.YEAR, 2800);
        //是否在某個(gè)時(shí)間(calendar2)之后
        System.out.println(calendar.after(calendar2));
        //是否在某個(gè)時(shí)間(calendar2)之前
        System.out.println(calendar.before(calendar2));
        //增加多少年年,月日以及時(shí)分秒同理
        calendar.add(Calendar.YEAR, -10);

    } 
}

3、異常調(diào)試

同時(shí)在調(diào)用parse這個(gè)方法時(shí),會(huì)出現(xiàn)異常,
try {

}    catch (ParseException e) {
e.printStackTrace();
}

總結(jié)

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

相關(guān)文章

  • Java8 如何正確高效的使用并行流

    Java8 如何正確高效的使用并行流

    這篇文章主要介紹了Java8 如何正確高效的使用并行流,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用list stream: 任意對(duì)象List拼接字符串

    使用list stream: 任意對(duì)象List拼接字符串

    這篇文章主要介紹了使用list stream:任意對(duì)象List拼接字符串操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springboot集成websocket的四種方式小結(jié)

    springboot集成websocket的四種方式小結(jié)

    本文主要介紹了springboot集成websocket的四種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • apache commons工具集代碼詳解

    apache commons工具集代碼詳解

    這篇文章主要介紹了apache commons工具集代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • MapStruct處理Java中實(shí)體與模型間不匹配屬性轉(zhuǎn)換的方法

    MapStruct處理Java中實(shí)體與模型間不匹配屬性轉(zhuǎn)換的方法

    今天小編就為大家分享一篇關(guān)于MapStruct處理Java中實(shí)體與模型間不匹配屬性轉(zhuǎn)換的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Maven本地打包war包實(shí)現(xiàn)代碼解析

    Maven本地打包war包實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了Maven本地打包war包實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java中字符串去重的特性介紹

    Java中字符串去重的特性介紹

    這篇文章主要介紹了Java中字符串去重的特性,是Java8中引入的一個(gè)新特性,至于是否真的用起來(lái)順手就見(jiàn)仁見(jiàn)智了...需要的朋友可以參考下
    2015-07-07
  • SpringBoot外部化配置使用Plus版的方法示例

    SpringBoot外部化配置使用Plus版的方法示例

    這篇文章主要介紹了SpringBoot外部化配置使用Plus版的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • java中Iterator和ListIterator實(shí)例詳解

    java中Iterator和ListIterator實(shí)例詳解

    這篇文章主要介紹了java中Iterator和ListIterator實(shí)例詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 深入理解Java對(duì)象復(fù)制

    深入理解Java對(duì)象復(fù)制

    使用任何已有的工具,都沒(méi)有直接使用 get set 方式進(jìn)行,對(duì)象轉(zhuǎn)換的速度快,雖然get set 方式代碼對(duì)一些比較麻煩,但是效率要高一些的,推薦使用 MapStruct 方式.,需要的朋友可以參考下
    2021-05-05

最新評(píng)論

大庆市| 双城市| 壶关县| 荆州市| 建宁县| 山阳县| 新野县| 兴城市| 乌审旗| 邳州市| 留坝县| 兴宁市| 三都| 罗平县| 比如县| 滁州市| 临颍县| 焉耆| 湄潭县| 温州市| 华安县| 隆尧县| 台北市| 东乡县| 和硕县| 龙陵县| 怀安县| 大余县| 承德市| 砀山县| 北辰区| 东方市| 女性| 永清县| 四会市| 鲁山县| 张家口市| 寿宁县| 防城港市| 平凉市| 宜君县|