Java实现可视化日历程序
效果: |
代码如下: |
package com.zyx.date; 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; /** * 可视化日历程序 * @author lenovo * */ public class VisualCalendar { public static void main(String[] args) { System.out.println("请输入日期:(格式:年月日 :2013-09-01)"); /*获取用户输入*/ Scanner scanner = new Scanner(System.in); String toDay = scanner.nextLine(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = df.parse(toDay); //字符串日期转换为日期 Calendar calendar = new GregorianCalendar(); calendar.setTime(date);//日期转为日历 int day = calendar.get(Calendar.DATE);//获取当前日期的天 calendar.set(Calendar.DATE, 1);//取日期的第一天 int begin = calendar.get(Calendar.DAY_OF_WEEK);//取日期的第一天是星期几 int end = calendar.getActualMaximum(Calendar.DATE);//取日期的最后一天 System.out.println("日\t一\t二\t三\t四\t五\t六"); /*显示第一天前的空星期*/ for(int i=1;i<begin;i++){ System.out.print("\t"); } /*显示所有日期*/ for(int i=1;i<=end;i++){ if(day == i){//用*标识输入的日期 System.out.print(i+"*\t"); }else{ System.out.print(i+"\t"); } int week = calendar.get(Calendar.DAY_OF_WEEK);//获取当天是星期几 if(week == Calendar.SATURDAY){//遇到星期六换行 System.out.println(); } calendar.add(Calendar.DATE, 1);//日历加1天 } } catch (ParseException e) { System.out.println("请按照格式输入"); } } } |
转载于:https://blog.51cto.com/javazyx/1286674