JAVA 按年月打印日历 Calendar的简单使用
来源:互联网 发布:java post json 编辑:程序博客网 时间:2024/05/22 15:00
public class CalendarBook { public static void main(String[] args) throws ParseException { CalendarBook cb = new CalendarBook(); cb.printWeekTitle(); cb.printCalendar(2015,8); } public void printCalendar(int year,int month) throws ParseException{ String monthStr; //格式化月份,因为要转成yyyyMMdd格式的 if(month<10){ monthStr = "0"+month; } else{ monthStr = month+""; //数字跟字符串拼接转成字符串格式 } String yearMonthStr = year+monthStr; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Calendar calendarEnd = Calendar.getInstance(); Calendar calendarStart = Calendar.getInstance(); //根据年份和月份得到输入月份有多少天 int monthDays = getMonthLastDay(year, month); //月初的date字符串 String dateStartStr = yearMonthStr+"01"; //月末的date字符串 String dateEndStr = yearMonthStr+monthDays; Date startDate = sdf.parse(dateStartStr); Date endDate = sdf.parse(dateEndStr); calendarStart.setTime(startDate); calendarEnd.setTime(endDate); //得到输入月份有多少周 int weeks = calendarEnd.get(Calendar.WEEK_OF_MONTH); //得到当月第一天是星期几,这里周日为第一天,从1开始,周一则为2 int dayOfWeek = calendarStart.get(Calendar.DAY_OF_WEEK); int day = 1; //当月的第一周做特殊处理,单独打印一行 for(int i=1;i<=7;i++){ if(i>=dayOfWeek){ System.out.print(" "+day+" "); day++; } else{ System.out.print(" "); } } System.out.println(); //开始打印从第二周开始的日期 for(int week=1;week<weeks;week++){ for(int i=1;i<=7;i++){ if(day>monthDays){ break; } if(day<10){ System.out.print(" "+day+" "); } else{ System.out.print(day+" "); } day++; } System.out.println(); } } public int getMonthLastDay(int year,int month){ int monthDay; int[][] day = {{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; if(year%4==0 && year%100!=0 || year%400==0){ //闰年 monthDay = day[1][month]; } else{ monthDay = day[0][month]; } return monthDay; } public void printWeekTitle(){ System.out.println("日"+" "+"一"+" "+"二"+" "+"三"+" "+"四"+" "+"五"+" "+"六"); }}
运行结果截图(运行效果,字体大小5号最佳):
0 0
- JAVA 按年月打印日历 Calendar的简单使用
- java Calendar 日历的打印
- java日历的使用(Calendar)
- java日历类Calendar简单使用
- java日历类Calendar简单使用
- Calendar打印日历的应用
- Java Calendar 日历类的基本使用
- Java中日历类Calendar的使用
- java实现一个月的日历打印
- Calendar日历的使用
- java打印日历---Calendar类的综合运用
- JAVA 打印当前月日历
- 关于python的calendar包打印日历
- 日历Calendar控件的使用
- 日历控件Calendar的使用
- java的Calendar(日历)类
- java的Calendar(日历)类
- JAVA 输入年份月份打印该月的日历
- Java 网络学习
- 敏感词检测
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(三)
- 中华武术
- 想学习做产品
- JAVA 按年月打印日历 Calendar的简单使用
- Wget:Windows下安装wget
- Couldn't find leader offsets for Set news_topic
- unity NGUI Tutorial event system
- 10005---jQuery 选择器
- 关于java枚举
- 整合大量开源库温习基础项目(三)登陆注册主页面大致完成,分析下怎么处理用户信息
- linux常用命令语法
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)