1. 程式人生 > >java 根據輸入的時間列印本月的日曆

java 根據輸入的時間列印本月的日曆

package com.sxt;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class CalendarDemo {
    public static void printCalendar(Calendar c, int day) {
        Scanner sc = new Scanner(System.in);
        StringBuffer sb = new StringBuffer();
        sb.append("\t日\t一\t二\t三\t四\t五\t六\t"
).append("\n"); for (int i = 1; i < c.get(Calendar.DAY_OF_WEEK); i++) { sb.append("\t"); } //獲得當前月份的天數 int max = c.getActualMaximum(Calendar.DATE); //獲得當月一號對應的常量值是3 int k = c.get(Calendar.DAY_OF_WEEK); for (int i = 1; i <= max; i++) { sb.append("\t"
).append(i); if (i == day) { sb.append("*"); } else if((i + k) % 7 == 1) { sb.append("\n"); } } System.out.println(sb.toString()); } public static void main(String[] args) throws Exception { Scanner sc = new
Scanner(System.in); System.out.println("請輸入日期:格式(2017-8-2)"); String dd = sc.next(); // 日期格式化 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(dd); // 得到Calendar型別的通用物件 Calendar c = Calendar.getInstance(); // 將給定的date設定成日曆的時間 c.setTime(date); int year = c.get(Calendar.DAY_OF_YEAR); System.out.println(year); // 獲得給定的日期的第幾號。 int day = c.get(Calendar.DATE); System.out.println(day); // 設定當前月份的一號 c.set(Calendar.DATE, 1); printCalendar(c, day); } }