在java控制台打印日历
2018-01-04 13:30
447 查看
public static void main(String[] args) { Locale.setDefault(Locale.ENGLISH); 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控制台打印简单日历
- 从D盘下HelloWorld.java文件中读取全部信息并打印到控制台
- 打印日历(java)
- Java控制台打印出输入路径下的目录层级结构
- 用JAVA打印当前月份的日历
- 用java打印日历
- java 通过控制台输入的数字打印菱形字母
- Java控制台打印一个扇状正三角形
- ⑤初识java:打印日历
- java----根据输入的年月判断闰年和打印日历
- 日历系统——控制台输入年份和月份,打印该月的日历
- Java控制台打印九九乘法表和杨辉三角形
- Java实现按年月打印日历功能【基于Calendar】
- java红黑树的控制台打印
- 根据输入的日期,控制台打印格式化日历
- java打印日历
- Java读取一个文件并打印到控制台上
- JAVA 打印当前月日历
- 控制台打印当前月日历