Java的日历程序
2015-12-21 22:11
357 查看
本文为学习Java核心思想的笔记,特此说明。
package com; import java.text.DateFormatSymbols; import java.util.Calendar; import java.util.GregorianCalendar; public class MyCalendar { public static void main(String[] args){ GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH); int month = d.get(Calendar.MONTH); //设置为本月的月初 d.set(Calendar.DAY_OF_MONTH, 1); //获取月初是星期几 int weekday = d.get(Calendar.DAY_OF_WEEK); //获取本地每星期的第一天是星期几 int firstDayOfWeek = d.getFirstDayOfWeek(); //获取月初所在星期的第一天的日历 int indent = 0; while(weekday != firstDayOfWeek){ indent++; d.add(Calendar.DAY_OF_MONTH, -1); weekday = d.get(Calendar.DAY_OF_WEEK); } //获取星期的缩写 String[] weekdayNames = new DateFormatSymbols().getShortWeekdays(); do{ System.out.printf("%4s ",weekdayNames[weekday]); d.add(Calendar.DAY_OF_MONTH, 1); weekday = d.get(Calendar.DAY_OF_WEEK); }while(weekday != firstDayOfWeek); System.out.println(); for(int i=1;i<=indent;i++){ System.out.print(" "); } d.set(Calendar.DAY_OF_MONTH, 1); do{ int day = d.get(Calendar.DAY_OF_MONTH); System.out.printf("%3d",day); if(day == today) System.out.print("* "); else System.out.print(" "); d.add(Calendar.DAY_OF_MONTH, 1); weekday = d.get(Calendar.DAY_OF_WEEK); if(weekday == firstDayOfWeek) System.out.println(); }while(d.get(Calendar.MONTH) == month); if(weekday != firstDayOfWeek) System.out.println(); } }效果如下:
相关文章推荐
- Java实例变量、类变量与局部变量
- java多线程
- leetcode 212: Word Search II使用前缀树,java实现
- java中Integer与int的种种比较你知道多少?
- 在客户化的web界面提交EBS并发请求的方法
- Java线程:同步
- java注释
- 从头认识java-13.14 捕捉通配符替代的类型参数
- Java实现高斯模糊算法处理图像
- 【java学习笔记s】继承
- java泛型
- JAVA概念大全
- Java Font 居中 反锯齿效果
- android maven eclipse里面新建mavenprojectThe desired archetype does not exist
- java反射
- 从头认识java-13.13 无界通配符
- 【菜鸟学Java】7:JSP的基本语法
- Java中点击按钮返回上一页
- Eclipse调试Bug的七种常用技巧
- java中“==”和equal区别