本文共 1211 字,大约阅读时间需要 4 分钟。
package com.nfsbbs.wang;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;public class VisualCalendar { public static void main(String[] args) throws ParseException{ //异常抛出 System.out.println("请输入日期(按照格式:201705):"); //输入日期并格式化为yyyyMM Scanner sc = new Scanner(System.in); String df = sc.nextLine(); DateFormat format = new SimpleDateFormat("yyyyMM"); Date da = format.parse(df); System.out.println("日\t一\t二\t三\t四\t五\t六\t"); //把格式化后的日期输入日历 Calendar ca = new GregorianCalendar(); ca.setTime(da); ca.set(Calendar.DATE,1); //确定第一天 for(int i = 1; i < ca.get(Calendar.DAY_OF_WEEK); i++){ //在日历上显示月初是星期几 System.out.print("\t"); } //主循环 int md = ca.getActualMaximum(Calendar.DATE); //获取本月最大天数 for(int i = 1; i <= md; i++){ System.out.print(i + "\t"); int w = ca.get(Calendar.DAY_OF_WEEK); //获取当前是周几,每到周六换行 if(w == Calendar.SATURDAY){ System.out.println(); } ca.add(Calendar.DATE,1); //日期+1,重新循环 } }}
输出如下:
请输入日期(按照格式:201707):201702日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
转载地址:http://fnmdi.baihongyu.com/