java.util
类 Calendar
java.lang.Object java.util.Calendar
public abstract class Calendar // 抽象类,不能直接实例化
extends
Object
implements
Serializable,
Cloneable,
Comparable<
Calendar>
一、Calendar类的属性和方法
Calendar中的属性都是静态的,可以使用Calendar类名称直接调用,例如:Calendar.YEAR、Calendar.MONTH。
常用属性如下:
static int | YEAR 指示年的 get 和 set 的字段数字。 |
static int | MONTH 指示月份的 get 和 set 的字段数字。 |
static int | DAY_OF_MONTH get 和 set 的字段数字,指示一个月中的某天。 |
static int | HOUR get 和 set 的字段数字,指示上午或下午的小时。 |
static int | HOUR_OF_DAY get 和 set 的字段数字,指示一天中的小时。 |
static int | MINUTE get 和 set 的字段数字,指示一小时中的分钟。 |
static int | SECOND get 和 set 的字段数字,指示一分钟中的秒。 |
常用方法如下:
static Calendar | getInstance() 使用默认时区和语言环境获得一个日历。 |
abstract void | add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。 |
int | get(int field) 返回给定日历字段的值。 |
二、示例
首先,通过getInstance()方法使用默认时区和语言环境获得一个日历。无法通过Calendar的构造方法获得日历的原因是:Calendar类为抽象类,不可直接实例化。
然后,利用Calendar的get()方法,取得对应属性,打印出一定格式的时间字段。
import java.util.*;
class StringDemo
{
public static void main(String[] args)
{
Calendar c1=Calendar.getInstance();
// 下面打印当前时间
System.out.println(c1.get(Calendar.YEAR)+"年"+(c1.get(Calendar.MONTH)+1)+
"月"+c1.get(Calendar.DAY_OF_MONTH)+"日"+c1.get(Calendar.HOUR_OF_DAY)+
":"+c1.get(Calendar.MINUTE)+":"+c1.get(Calendar.SECOND));
c1.add(Calendar.DAY_OF_MONTH, 5); //为DAY_OF_MONTH属性增加5
// 下面修改后的时间
System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+
"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR_OF_DAY)+
":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));
c1.add(Calendar.DAY_OF_MONTH, -5); //DAY_OF_MONTH属性增加5后再减去5
// 下面修改后的时间
System.out.println(c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+
"月"+c1.get(c1.DAY_OF_MONTH)+"日"+c1.get(c1.HOUR_OF_DAY)+
":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));
}
}
结果:
2014年3月5日15:39:0
2014年3月10日15:39:0
2014年3月5日15:39:0