java實現(xiàn)日歷功能
本文實例為大家分享了java實現(xiàn)日歷功能的具體代碼,供大家參考,具體內(nèi)容如下
完成一個 java application應用程序,輸出一份當前所在時區(qū)當前時間的一個月的日歷(1號到28/29/30/31號,以及每天對應為星期幾)。
思路:
(1)獲得這一年是否是閏年。閏年的2月只有28天,非閏年2月有29天。其他1、3、5、7、8、10、12月每月31天,2、4、6、9、11每月30天。
(2)根據(jù)上一步獲得這個月的總天數(shù)。
(3)獲得這個月第一天是星期幾。然后依次填充。直到這個月最后一天。
代碼如下:
import java.text.*;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
class MyCalendar {
?
?? ?public static void main(String[] args) throws ParseException
?? ?{?? ??? ?
?? ??? ?int maxDay = 0;?? ?
?? ??? ?int firstDay = 0;?? ?
?? ??? ?int currentDay = 0;?? ??? ?
?? ??? ?
?? ??? ?System.out.println("請輸入一個日期:格式為:2020-02-02");?? ?
?? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ?String str = sc.nextLine();?? ?//鍵盤輸入日期格式的字符串
?? ??? ?DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
?? ??? ?Date date = format.parse(str);?? ?//將字符串轉化為指定的日期格式
?? ??? ??? ?
?? ??? ?Calendar calendar = new GregorianCalendar();
?? ??? ?calendar.setTime(date);?? ?//將日期轉化為日歷
?? ??? ?maxDay = calendar.getActualMaximum(Calendar.DATE);?? ?//當前日期中當前月對應的最大天數(shù)
?? ??? ?currentDay = calendar.get(Calendar.DATE);?? ?//當前日期中的當前天
?? ??? ?calendar.set(Calendar.DATE, 1); // 設置為當前月的第一天
?? ??? ?firstDay = calendar.get(Calendar.DAY_OF_WEEK);?? ?//當前日期中當前月第一天對應的星期數(shù)
??? ??? ?System.out.println("------------------------------------------------------");
?? ??? ?System.out.println("周日\t周一\t周二\t周三\t周四\t周五\t周六\n");
?? ??? ?System.out.println("------------------------------------------------------");
?? ??? ?for (int j = 1; j < firstDay; j++) //當前月第一天之前以空格輸出
?? ??? ?{
?? ??? ??? ?System.out.print("\t");
?? ??? ?}?
?? ??? ?for (int i = 1; i <= maxDay; i++) //輸出當月每一天的號數(shù)
?? ??? ?{
?? ??? ??? ?if (i == currentDay) //以*i表示當天日期
?? ??? ??? ?{
?? ??? ??? ??? ?System.out.print("*");
?? ??? ??? ?}
?? ??? ??? ?System.out.print(i + "\t");
?? ??? ??? ?if ((i - (8 - firstDay)) % 7 == 0) //以七天為一個循環(huán)輸出所有天數(shù)
?? ??? ??? ?{
?? ??? ??? ??? ?System.out.println("\n");
?? ??? ??? ?}?
?? ??? ?}
?? ?}
}結果如下:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
如何在Java中調(diào)用python文件執(zhí)行詳解
豐富的第三方庫使得python非常適合用于進行數(shù)據(jù)分析,最近在項目中就涉及到java調(diào)用python實現(xiàn)的算法,下面這篇文章主要給大家介紹了關于如何在Java中調(diào)用python文件執(zhí)行的相關資料,需要的朋友可以參考下2022-05-05
如何在Spring Boot應用中優(yōu)雅的使用Date和LocalDateTime的教程詳解
這篇文章主要介紹了如何在Spring Boot應用中優(yōu)雅的使用Date和LocalDateTime,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
JVM調(diào)優(yōu)OutOfMemoryError異常分析
這篇文章主要為大家介紹了JVM調(diào)優(yōu)OutOfMemoryError異常分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11

