calenar
Calendar类是java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包 含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCalendar;获取Calendar对象一 般使用类中提供的静态方法:getInstance(),有关Calendar类的具体使用如下:
public class CalendarDemo {
public static void main(String[] args) {
// 获取一个Calendar实例(以当前系统时间为依据)
Calendar c = Calendar.getInstance();
// 获取日历所表示日期中的年份
System.out.println(c.get(Calendar.YEAR));
// 获取日历所表示日期中的月份
System.out.println(c.get(Calendar.MONTH) + 1);
// 获取日历所表示日期月份中的天数
System.out.println(c.get(Calendar.DAY_OF_MONTH));
// 获取小时数
System.out.println(c.get(Calendar.HOUR));
// 获取分钟数
System.out.println(c.get(Calendar.MINUTE));
// 获取秒钟数
System.out.println(c.get(Calendar.SECOND));
//设置日历中指定字段的值
c.set(Calendar.MONTH, 5);
//获取当前日历所表示的字段具备的大值
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
//设置日历中的日期为月份中的第一天
c.set(Calendar.DAY_OF_MONTH, 1);
//当前月份的第一天是星期几?(周天是第一天)
System.out.println(c.get(Calendar.DAY_OF_WEEK));
System.out.println(c);
}
}
基于Calendar类的动态日历
package com.softeem.demo;
import java.util.Calendar;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
System.out.println("请输入年份:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println("请输入月份:");
Scanner sc1 = new Scanner(System.in);
int i1 = sc1.nextInt();
System.out.println("=======================日历=========================");
System.out.println("七\t一\t二\t三\t四\t五\t六");
Calendar c = Calendar.getInstance();
int a = c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.YEAR, i);
c.set(Calendar.MONTH, i1-1);
c.set(Calendar.DAY_OF_MONTH, 1);
int j = c.get(Calendar.DAY_OF_WEEK);
int m = c.getActualMaximum(Calendar.DAY_OF_MONTH);
for(int n = 1;n<j;n++){
System.out.print("\t");
}
for(int count = 1;count <=m;count ++){
c.set(Calendar.DAY_OF_MONTH, count);
int b = c.get(Calendar.DAY_OF_WEEK);
if((count+j-2)%7 == 0){
System.out.println();
}if(b == 1 || b == 7){
System.out.print("["+count+"]"+"\t");
}else if(count == a){
System.out.print("*"+count+"\t");
}else{
System.out.print(count+"\t");
}
}
}
}