溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么利用Calendar類實現一個動態日歷

發布時間:2021-07-29 17:44:32 來源:億速云 閱讀:210 作者:Leah 欄目:開發技術

本篇文章為大家展示了Java中怎么利用Calendar類實現一個動態日歷,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1.打印日歷

1.1當月總天數

1.2當月第一天是周幾(注意:月份是從0開始,星期是從周日(1)開始)

Java中怎么利用Calendar類實現一個動態日歷

Java中怎么利用Calendar類實現一個動態日歷

2.周末用【】包裹

3.當前日期前加*號

代碼實現:

package com.softeem.j2016.example;
 
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
 
/**
 * 1.打印日歷
 * 1.1當月總天數
 * 1.2當月第一天是周幾
 * 2.周末用【】包裹
 * 3.當前日期加“*”
 * @author admin
 * 2021/7/23
 */
public class CalendarDemo {
    //獲取一個日期實例
    static  Calendar c = Calendar.getInstance();
 
    public static void show(int year,int month){
        //獲取當天日期
        Date today = new Date();
        //獲取系統時間的年月日
        int y = today.getYear() +1900;
        int m = today.getMonth() +1;
        int d = today.getDate() ;
 
        c.set(Calendar.YEAR,year);
        c.set(Calendar.MONTH,month-1);
        //設置當前日歷的日期為本月的第一天(7.1)
        c.set(Calendar.DAY_OF_MONTH,1);
        //獲取當前字段所表示日歷的可能具備最大值(本月總天數)
        int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);
        //獲取當月第一天是周幾(7.1前面設置為本月第一天),周日=1;
        int week = c.get(Calendar.DAY_OF_WEEK)-1;
        //如果當天是周日,則設置為7
        week = week == 0?7 :week;
        //打印空格數
        System.out.printf("%d月一共有%d天,1號是周%d\n",month,days,week);
        System.out.printf("==========【%d】年【%d】月==========\n",year,month);
        System.out.println("一\t二\t三\t四\t五\t六\t日");
        System.out.println("================================");
        //計數器
        int count  = 0;
        //(輸出空格)如果當天是星期四則說明有三個空格,需要循環三次,則week-1
        for (int i = 0; i < week - 1; i++) {
            System.out.print("\t");
            count++;
        }
        for (int i = 1; i <=days; i++) {
            count++;
            //根據日期的數值判斷是否是周末,如果是則用"[]"包裹
            String date = (count % 7 ==6 || count % 7 == 0)?"["+i+"]\t":i+"\t";
            //在當前日期前使用"*"標記
            date = (y == year && m == month && d == i)?"*" + date:date;
            //輸出日期
            System.out.print(date);
            //達到七位則換行
            if (count%7==0){
                System.out.println();
            }
        }
    }
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入年份");
        int year = sc.nextInt();
        System.out.println("請輸入月份");
        int month = sc.nextInt();
        show(year,month);
    }
}

效果截圖:

Java中怎么利用Calendar類實現一個動態日歷

上述內容就是Java中怎么利用Calendar類實現一個動態日歷,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女