java打印年历
java打印日历
输出结果:
源代码:
import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class MyDate { public static void main(String[] args) { MyDate date = new MyDate(); date.myCalendar(); } //实现日历的方法 public void myCalendar() { GregorianCalendar now = new GregorianCalendar(); // 获得一个Date对象 Date date = new Date(); // 打印当前时间 System.out.println(date.toString()); // 设置当前时间 now.setTime(date); // 从日期中取得当前的日 int toDay = now.get(Calendar.DAY_OF_MONTH); // 从日期中取得当前的月 int month = now.get(Calendar.MONTH); // 设置now的日期为1 now.set(Calendar.DAY_OF_MONTH, 1); // 得到now是一周的第几天 int week = now.get(Calendar.DAY_OF_WEEK); // 打印日历头部标示 System.out.println("日\t一\t二\t三\t四\t五\t六"); // 打印当前日期前面的空格 for (int i = Calendar.SUNDAY; i < week; i++) { System.out.print("\t"); } // 打印日历主体 while (now.get(Calendar.MONTH) == month) { int day = now.get(Calendar.DAY_OF_MONTH); // 对输出的日历进行对齐,小于10的加上一个空格 if (day < 10) { // 如果是当前日期,加上标示 if (day == toDay) { System.out.print("▲" + day + "▲\t"); } else { System.out.print(" " + day + "\t"); } } else { // 如果是当前日期,加上标示 if (day == toDay) { System.out.print("▲" + day + "▲\t"); } else { System.out.print("" + day + "\t"); } } //如果是周六,进行换行 if (week == Calendar.SATURDAY) { System.out.println(); } //每次输出日期后,将日期增加一天 now.add(Calendar.DAY_OF_MONTH, 1); //重新获得一周的第几天 week = now.get(Calendar.DAY_OF_WEEK); } } }
输出结果:
- 3楼asdf535521昨天 22:42
- 我想说,我转走了。。。
- 2楼asdf535521昨天 22:25
- http://www.codeqin.com/20120909/723.html,在这里。
- 1楼leehggg昨天 20:48
- 注释的很仔细...
- Re: a125138昨天 21:27
- 回复leehgggn写上必要的注释,增加可读性,容易理解