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

Java根據(jù)日期計(jì)算星期幾的四種方法

 更新時(shí)間:2023年09月25日 11:14:00   作者:哭哭啼  
在我們?nèi)粘I(yè)務(wù)代碼中,經(jīng)常要用到星期幾,下面這篇文章主要給大家介紹了關(guān)于Java根據(jù)日期計(jì)算星期幾的四種方法,文中通過代碼將每種實(shí)現(xiàn)的非常詳細(xì),需要的朋友可以參考下

方法一:根據(jù)基姆拉爾森日期公式

 public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        // 聲明 int 類型的變量 y 用來獲取控制臺(tái)輸入的年
        int y = scanner.nextInt();
        // 聲明 int 類型的變量 m 用來獲取控制臺(tái)輸入的月
        int m = scanner.nextInt();
        // 聲明 int 類型的變量 d 用來獲取控制臺(tái)輸入的日
        int d = scanner.nextInt();
        /********** Begin **********/
        // 第一步,判斷變量 m 的值是否是 1 或者 2。如果是,則變量 m 在原來的基礎(chǔ)上加12,同時(shí)變量 y 在原來的基礎(chǔ)上減1
        if (m == 1 || m == 2) {
            m += 12;
            y--;
        }
        // 第二步,使用基姆拉爾森日期公式,計(jì)算星期幾
        int iWeek = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
        // 第三步,使用多路分支判斷星期幾。如果是星期一,則在控制臺(tái)輸出"星期一";如果是星期二,則在控制臺(tái)輸出"星期二"....以此類推,如果是星期日,就是在控制臺(tái)輸出"星期日"
        switch (iWeek) {
            case 0:
                System.out.print("星期一");
                break;
            case 1:
                System.out.print("星期二");
                break;
            case 2:
                System.out.print("星期三");
                break;
            case 3:
                System.out.print("星期四");
                break;
            case 4:
                System.out.print("星期五");
                break;
            case 5:
                System.out.print("星期六");
                break;
            case 6:
                System.out.print("星期日");
                break;
        }
        /********** End **********/
    }

方法二:Calendar類

 /**
     * 日期轉(zhuǎn)星期
     * 
     * @param datetime "2017-01-01"
     * @return
     */
public static String dateToWeek(String datetime) {
		SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
		String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
		Calendar cal = Calendar.getInstance(); // 獲得一個(gè)日歷
		Date datet = null;
		try {
			datet = f.parse(datetime);
			cal.setTime(datet);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一個(gè)星期中的某天。
		if (w < 0)
			w = 0;
		return weekDays[w];
	}

方法三:GergorianCalendar類

 public static void main(String []args)
    {
        Scanner cin=new Scanner(System.in);
        System.out.println("請輸入年,月,日:");
        while(cin.hasNext())
        {
            int year=cin.nextInt();
            int month=cin.nextInt();
            int day=cin.nextInt();
            GregorianCalendar gre=new GregorianCalendar();
            Date date=new Date(year-1900,month-1,day); //年要減去1900,月份是0-11
//            System.out.println(date);
            gre.setTime(date);
            int weekday=gre.get(Calendar.DAY_OF_WEEK)-1; //0是星期天
            String []s={"星期天","星期一","星期二","星期三","星期四","星期五","星期六",};
            System.out.println(year+" "+month+" "+day+" "+s[weekday]);
        }

方法四:LocalDateTime

public static void main(String[] args) {
        getDayOfWeek(2023,9,5);
    }
    /**
     * 輸入年月日,確保輸入日期符合正確年月日,如一個(gè)月不能能輸入40
     * @param year 年
     * @param month 月
     * @param day 日
     */
    private static void getDayOfWeek(int year,int month,int day) {
        LocalDateTime dateTime= LocalDateTime.now();
//        LocalDateTime with = dateTime.withYear(2020).withMonth(7).withDayOfMonth(2);
        LocalDateTime with = dateTime.withYear(year).withMonth(month).withDayOfMonth(day);
//      LocalDateTime with = dateTime.with(LocalDate.of(year,month,day));
        DayOfWeek dayOfWeek = with.getDayOfWeek();
        int value = dayOfWeek.getValue();
        //獲取周幾,1-7 代表周一到周日
        System.out.println(value);
        //獲取周幾,英文MONDAY,TUESDAY。。。
        System.out.println(dayOfWeek);
    }

總結(jié) 

到此這篇關(guān)于Java根據(jù)日期計(jì)算星期幾的四種方法的文章就介紹到這了,更多相關(guān)Java日期計(jì)算星期幾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中GUI工具包AWT和Swing用法介紹

    Java中GUI工具包AWT和Swing用法介紹

    這篇文章介紹了Java中GUI工具包AWT和Swing用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 基于BigDecimal.setScale的用法小結(jié)

    基于BigDecimal.setScale的用法小結(jié)

    這篇文章主要介紹了基于BigDecimal.setScale的用法小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)

    Java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 異步線程traceId如何實(shí)現(xiàn)傳遞

    異步線程traceId如何實(shí)現(xiàn)傳遞

    文章介紹了如何在異步請求中傳遞traceId,通過重寫ThreadPoolTaskExecutor的方法和實(shí)現(xiàn)TaskDecorator接口來增強(qiáng)線程池,確保異步線程間的traceId同步
    2025-02-02
  • java 線程池keepAliveTime的含義說明

    java 線程池keepAliveTime的含義說明

    這篇文章主要介紹了java 線程池keepAliveTime的含義說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 基于JWT的spring boot權(quán)限驗(yàn)證技術(shù)實(shí)現(xiàn)教程

    基于JWT的spring boot權(quán)限驗(yàn)證技術(shù)實(shí)現(xiàn)教程

    這篇文章主要給大家介紹了關(guān)于基于JWT的spring boot權(quán)限驗(yàn)證技術(shù)實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • SpringBoot3集成和使用Jasypt的代碼詳解

    SpringBoot3集成和使用Jasypt的代碼詳解

    隨著信息安全的日益受到重視,加密敏感數(shù)據(jù)在應(yīng)用程序中變得越來越重要,Jasypt作為一個(gè)簡化Java應(yīng)用程序中數(shù)據(jù)加密的工具,為開發(fā)者提供了一種便捷而靈活的加密解決方案,本文將深入解析Jasypt的工作原理,需要的朋友可以參考下
    2024-01-01
  • 如何使用Java計(jì)算修改文件的MD5值

    如何使用Java計(jì)算修改文件的MD5值

    這篇文章主要介紹了如何使用Java計(jì)算修改文件的MD5值,MD5是一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值,用于確保信息傳輸完整一致,需要的朋友可以參考下
    2023-04-04
  • 簡述Java List去重五種方法

    簡述Java List去重五種方法

    這篇文章主要介紹了簡述Java List去重五種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • MyBatisPlus深入探究映射匹配的兼容性

    MyBatisPlus深入探究映射匹配的兼容性

    在最近的工作中,碰到一個(gè)比較復(fù)雜的返回結(jié)果,發(fā)現(xiàn)簡單映射已經(jīng)解決不了這個(gè)問題了,只好去求助百度,學(xué)習(xí)mybatis映射匹配應(yīng)該怎么寫,將學(xué)習(xí)筆記結(jié)合工作碰到的問題寫下本文,供自身查漏補(bǔ)缺,同時(shí)已被不時(shí)之需
    2022-08-08

最新評論

定远县| 当雄县| 四川省| 四会市| 衢州市| 郑州市| 阿克陶县| 阳春市| 泰来县| 安仁县| 乌兰浩特市| 延寿县| 吴旗县| 雷波县| 房产| 清镇市| 扬中市| 上高县| 清涧县| 福鼎市| 宕昌县| 即墨市| 杂多县| 安吉县| 临桂县| 岳阳县| 张家界市| 革吉县| 连云港市| 林甸县| 朝阳市| 当阳市| 饶河县| 嘉黎县| 郴州市| 柳河县| 永昌县| 甘泉县| 淄博市| 嘉义县| 阿克陶县|