标签:
package TestDate; 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 VisualCalendar { /** * 可视化日历 * @param args */ public static void main(String[] args) { System.out.println("请输入年月日(格式:2001-12-25):"); Scanner scan = new Scanner(System.in); //从键盘输入指定格式的字符串 String str = scan.nextLine(); //System.out.println(str); //定义特定格式的格式化类 DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); try { //将字符串转成相应格式的日期 Date date = format.parse(str); //System.out.println(date); Calendar calendar = new GregorianCalendar(); //将日期设置成日历类的对象 calendar.setTime(date); //System.out.println(calendar.getTime()); //获取输入的天 int day = calendar.get(Calendar.DATE); //System.out.println("day="+day); //将日历对象的天设置成1号,方便下一步计算当月有多少天 calendar.set(Calendar.DATE, 1); //获得这个日期的天是当周的第几天 int week = calendar.get(Calendar.DAY_OF_WEEK); //获取这个月最大的天数 int maxDay = calendar.getActualMaximum(Calendar.DATE); //System.out.println("week="+week); //System.out.println("maxDay="+maxDay); System.out.println("日\t一\t二\t三\t四\t五\t六"); int flag = 0; for(int i=1;i<week;i++){ System.out.print("\t"); flag ++; } for(int i = 1;i<=maxDay;i++){ if(i==day){ System.out.print('*'); } System.out.print(i+"\t"); flag ++; if(flag%7==0){ System.out.println(); } } } catch (ParseException e) { e.printStackTrace(); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u011637069/article/details/47215759