Java做可视化日历

xiaoxiao2021-02-28  46

1. 代码

package tk.javazhangwei; 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 zw * */ public class Test01 { public static void main(String[] args){ System.out.println("欢迎使用,本程序为获取当前输入年月日并且打印本月日历"); System.out.println("请输入日期(按照格式:2017-07-11)"); Scanner scanner = new Scanner(System.in); String inputstr = scanner.nextLine(); String temp = inputstr; DateFormat format = new SimpleDateFormat("yyyy-MM-dd");//格式化字符串 try { Date date = format.parse(temp);//字符串转为时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); int day = calendar.get(Calendar.DATE);//获取输入的天数 calendar.set(Calendar.DATE, 1);//将日期变为1号,母的就是算出1号是周几 // System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//一号属于周几 // System.out.println(calendar.getActualMaximum(Calendar.DATE));//这月最后一天是30还是31 int maxDate = calendar.getActualMaximum(Calendar.DATE);//本月最大的天数 System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=0;i<calendar.get(Calendar.DAY_OF_WEEK)-1;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.print("\n"); } calendar.add(Calendar.DATE, 1);//将日期加1 } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

2. 运行截图

转载请注明原文地址: https://www.6miu.com/read-79715.html

最新回复(0)