天天看點

java實作月曆簽到功能_java實作簡單的月曆功能-Go語言中文社群

在工作台輸入日期類型的字元串,然後列印出對應的日期的月曆。

java實作月曆簽到功能_java實作簡單的月曆功能-Go語言中文社群
java實作月曆簽到功能_java實作簡單的月曆功能-Go語言中文社群

package demo;

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 MyCalendar {

public static void main(String[] args) {

myCalendar();

}

public static void myCalendar() {

int maxDay = 0;

int firstDay = 0;

int currentDay = 0;

System.out.println("請輸入一個日期:格式為:2030-03-10");

Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();//鍵盤輸入日期格式的字元串

try {

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");

Date date = format.parse(str);//将字元串轉化為指定的日期格式

Calendar calendar = new GregorianCalendar();

calendar.setTime(date);//将日期轉化為月曆

maxDay = calendar.getActualMaximum(Calendar.DATE);//目前日期中目前月對應的最大天數

currentDay = calendar.get(Calendar.DATE);//目前日期中的目前天

calendar.set(Calendar.DATE, 1); // 設定為目前月的第一天

firstDay = calendar.get(Calendar.DAY_OF_WEEK);//目前日期中目前月第一天對應的星期數

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println("日t一t二t三t四t五t六n");

for (int j = 1; j < firstDay; j++) {

System.out.print("t");

}

for (int i = 1; i <= maxDay; i++) {

if (i == currentDay) {

System.out.print("#");

}

System.out.print(i + "t");

if ((i - (8 - firstDay)) % 7 == 0) {

System.out.println("n");

}

}

}

}

java實作月曆簽到功能_java實作簡單的月曆功能-Go語言中文社群