可视化日历程序----Date时间类 Calendar日历类的应用

    xiaoxiao2025-10-22  14

    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 XX * */ public class VisualCalendar { public static void main(String[] args) { /** * 控制台输入 */ System.out.println("请输入日期(格式为2030-3-10):"); @SuppressWarnings("resource") Scanner input = new Scanner(System.in); String temp = input.nextLine(); //String temp ="2030-2-10"; /** * 将输入的字符串日期转换为标准日历 */ DateFormat format =new SimpleDateFormat("yyyy-MM-dd"); //创建指定日期格式对象 try { Date date = format.parse(temp); //创建日期 将日期字符串temp转换为指定格式 Calendar calendar =new GregorianCalendar(); //创建标准日历对象 calendar.setTime(date); //将日期数据设置为日历 int day = calendar.get(Calendar.DATE); //获取并标记当前日期的天数 calendar.set(Calendar.DATE, 1); //日历的日期需从1号开始打印 /** * 日历打印 */ System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //当月日期是第几天星期几 int maxDate = calendar.getActualMaximum(Calendar.DATE); //当月的最大天数 System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++){ System.out.print('\t'); //输出空白 } //打印日历 for(int i=1;i<=maxDate;i++){ if(i==day){ System.out.print("*"); //做标记 } System.out.print(i+"\t"); int w = calendar.get(Calendar.DAY_OF_WEEK); if(w==Calendar.SATURDAY){ System.out.println(); //遇到周六换行 } calendar.add(Calendar.DATE, 1); //天数加1 } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
    转载请注明原文地址: https://ju.6miu.com/read-1303414.html
    最新回复(0)