java 用 Calendar类写万年历
2016-05-16 10:00
561 查看
输入年份和日期打印出本年本月份的日历,如图:
本题主要用到了java的 Calender类。
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。
简单的小实例:
运行结果(当天日期:2016-5-16)
判断是否为闰年,判断该月份的天数
得到月份天数后,打印出本月份的万年历
本题主要用到了java的 Calender类。
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。
简单的小实例:
public static void main(String[] args) { Calendar nowc = Calendar.getInstance(); System.out.println(nowc.get(Calendar.YEAR));//年份 System.out.println(nowc.get(Calendar.MONTH));//一年的第几个月,从0开始 System.out.println(nowc.get(Calendar.DAY_OF_MONTH));//这个月份的第几天,从1开始 System.out.println(nowc.get(Calendar.DAY_OF_WEEK));//这个月份的第几个星期,从0开始 }
运行结果(当天日期:2016-5-16)
判断是否为闰年,判断该月份的天数
public static int Days(int year,int month) { int days=0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { days = 31; } else if(month==4||month==6||month==9||month==11) { days = 30; } else { if(year%4==0||year%400==0&&year%100!=0) { days = 28; } else { days = 29; } } return days; }
得到月份天数后,打印出本月份的万年历
Scanner sc = new Scanner(System.in); Calendar nowc = Calendar.getInstance(); System.out.println("请输入年份"); int year = sc.nextInt(); System.out.println("请输入月份"); int month = sc.nextInt(); int days = Days(year,month); nowc.set(year,month-1,1); int week = nowc.get(Calendar.DAY_OF_WEEK)-1; int[] wnl = new int[42]; for(int i=1;i<=days;i++) { wnl[week++]=i; } System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=0;i<week;i++) { if(wnl[i]!= 0) { System.out.print(wnl[i]+"\t"); if((i+1)%7==0) { System.out.println(""); } } else { System.out.print(" "+"\t"); } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树