【Java Calendar日历类】可视化日历程序(控制台输出)
生活随笔
收集整理的這篇文章主要介紹了
【Java Calendar日历类】可视化日历程序(控制台输出)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Calendar日歷類
Calendar 類是一個抽象類,為我們提供了關于日期計算的相關功能,比如:年、月、日、時、分、秒的展示和計算。
GregorianCalendar 是 Calendar 的一個具體子類,提供了世界上大多數國家/地區使用的標準日歷系統。
雷區
注意月份的表示,一月是0,二月是1,以此類推,12月是11。
因為大多數人習慣于使用單詞而不是使用數字來表示月份,這樣程序也許更易讀,父類Calendar使用常量來表示月份:JANUARY、FEBRUARY等等。
效果
代碼
package cn.hanquan.test;import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner;public class TestCalendar {public static void main(String[] args) throws ParseException{// 讀取字符串System.out.println("請輸入年月日:");Scanner input = new Scanner(System.in);// 將字符串格式化為dateString str = input.nextLine();DateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date date = df.parse(str);// 將date轉化為calendarCalendar c = new GregorianCalendar();c.setTime(date);// 打印日期int weekOfMonth = c.get(Calendar.DAY_OF_MONTH);int maxDateOfMonth = c.getActualMaximum(Calendar.DATE);// 日期在當月里的最大值System.out.println("本月幾號:DAY_OF_MONTH:" + c.get(Calendar.DAY_OF_MONTH));System.out.println("本月多少天:" + maxDateOfMonth);// 從1號開始 用于遍歷c.set(Calendar.DAY_OF_MONTH, 1);int weekday = c.get(Calendar.DAY_OF_WEEK);System.out.println("本月1號星期幾:DAY_OF_WEEK:" + (weekday - 1));int huanhang = -1;// 空出上個月末尾System.out.println("一\t二\t三\t四\t五\t六\t日");for (int j = 0; j < weekday - 2; j++){huanhang++;System.out.print("\t");}// 從本月1日開始打印for (int i = 1; i <= maxDateOfMonth; i++){huanhang++;int t = (i - 1 + c.get(Calendar.DAY_OF_MONTH));System.out.print(t);if (t == weekOfMonth)System.out.print("*");System.out.print("\t");// 打印換行if (huanhang % 7 == 6){System.out.print("\n");}}} }總結
以上是生活随笔為你收集整理的【Java Calendar日历类】可视化日历程序(控制台输出)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java语法】DateFormat时间
- 下一篇: 【Java文件操作】txt文件的创建