![646c195d9df9a60ffaf984ceddded678.png](https://i-blog.csdnimg.cn/blog_migrate/ef3eb64bb6ebc7d8f6c99269f57eef42.jpeg)
今天学了Calendar类,感觉很有趣,然后自己动手制作了一个万年历。时间绝对非常的准确,然后呢,把我的万年历编程过程分享出来。
编程思路是这样的:
先手动输入你想要的年月日,把输入的日月日字符串类型,用parse()方法转换为 Date类型的数据。
Date d1 = d.parse(date); // 将字符串转换为 Date类型
然后用 Calendar 类型的对象把刚转换为Date类型的数据设置到Calendar 类型对象 cal 里面。作为 我们要显示的当前月份。
cal.setTime(d1); // 2. 将Date 类型转换为 日历类型
控制最大天数:获取当前月份,再获取在这个月的实际最大数。
int maxDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); // 一个月最大天数
如果这天在本周的数等于 周六,我们就换行。
if(cal.get(Calendar.DAY_OF_WEEK)== Calendar.SATURDAY){
System.out.println();
}
如果本月一号不是从周末开始,我们还需要获取DayOfWeek这个值,准确获取第一天在这周的第几天?
for(int i=1; i<dayOfWeek; i++){
System.out.print("t");
}
效果图:
![0b967373559af626dd15429711f7a49f.png](https://i-blog.csdnimg.cn/blog_migrate/fab0a8b99b27a53f4931036cefb27180.jpeg)
全部代码如下:
package