java简单日历
2009-11-02 14:40
441 查看
import java.text.DateFormatSymbols; import java.util.*; /** * @version 1.4 2007-04-07 * @author Cay Horstmann */ public class CalendarTest { public static void main(String[] args) { // construct d as current date GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH); int month = d.get(Calendar.MONTH); // set d to start date of the month d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); // get first day of week (Sunday in the U.S.) int firstDayOfWeek = d.getFirstDayOfWeek(); // determine the required indentation for the first line int indent = 0; while (weekday != firstDayOfWeek) { indent++; d.add(Calendar.DAY_OF_MONTH, -1); weekday = d.get(Calendar.DAY_OF_WEEK); } // print weekday names 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 { // print day int day = d.get(Calendar.DAY_OF_MONTH); System.out.printf("%5d", day); // mark current day with * if (day == today) System.out.print("*"); else System.out.print(" "); // advance d to the next day d.add(Calendar.DAY_OF_MONTH, 1); weekday = d.get(Calendar.DAY_OF_WEEK); // start a new line at the start of the week if (weekday == firstDayOfWeek) System.out.println(); } while (d.get(Calendar.MONTH) == month); // the loop exits when d is day 1 of the next month // print final end of line if necessary if (weekday != firstDayOfWeek) System.out.println(); } }
结果:
run: 星期日 星期一 星期二 星期三 星期四 星期五 星期六 1 2* 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 成功生成(总时间:1 秒)
相关文章推荐
- java制作简单日历
- java简单日历的制作代码
- Java日历类(GregorianCalendar和Calendar)的简单例子
- Java实现简单的日历小程序之Java图形界面开发小日历
- java 实现简单的日历查询
- Java练习简单日历
- Java中简单日期类和日历类的小结
- 用java写的一个简单的日历,我的第一个小程序,新人还请前辈们多加指点。
- Java实现简单的日历小程序之Java图形界面开发小日历
- 基于java实现的简单网页日历功能,有兴趣得可以把它转换到前端实现
- JAVA IO[2] 打印简单的日历
- java实现简单的日历功能
- java 简单日历
- java做简单日历
- 一个java实现的简单日历,采用左树右列表的方式实现,具有参考意义
- Java控制台打印简单日历
- 简单日历的制作 java
- java简单窗口日历程序,第一次写博文
- Java简单日历制作
- Java --简单的日历程序