Calendar类
温馨提示:该类在java.util包中。
在上一课中我们学习了日期类Date。在这一节课中我们将学习到日历类Calendar(抽象类)。在该类中所有的日期信息都封装好了,有许多静态的字段和方法,我们可以直接调用。我们重点掌握:
① static Calendar getInstance():使用默认时区和 语言环境获得一个日历。
② static int YEAR;
③ static int MONTH;0~11
④ static int DAY_OF_WEEK;第一天从星期日开始。
⑤ int get(int field):返回给定日历字段的值。
⑥ void set(int year,int month,int date):设置 日历字段YEAR、MONTH和DAY_OF_MONTH的 值。
⑦ void add(int field,int amount):根据日历的规 则,为给定的日历字段添加或减去指定的时间量。
获取当前的部分时间信息。
方法一:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年");
String time=sdf.format(d);
System.out.println("time="+time);
}
}
运行结果如下图所示:
方法二:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
sop(c.get(Calendar.YEAR)+"年");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果如下图所示:
拓展:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
sop(c.get(Calendar.MONTH)+"月");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果如下图所示:
从结果来看,比实际生活中要少一个月,因此我们可以:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
sop((c.get(Calendar.MONTH)+1)+"月");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果如下图所示:
更高级一点的做法是:利用查表法:
代码:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
String[] mons={"1月","2月","3月","4月","5月",
"6月","7月","8月","9月",
"10月","11月","12月"};
Calendar c=Calendar.getInstance();
int index=c.get(Calendar.MONTH);
sop(mons[index]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果如下图所示:
对日期进行修改设置
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
c.set(2012,4,2);//实际日期应该是2012年5月2日
c.add(Calendar.YEAR,4);
c.add(Calendar.MONTH,-1);
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
String[] mons={"1月","2月","3月","4月","5月",
"6月","7月","8月","9月",
"10月","11月","12月"};
String[] week={"","星期日","星期一",
"星期二","星期三","星期四",
"星期五","星期六",};
int indexyear=c.get(Calendar.YEAR);
sop(indexyear+"年");
int indexmonth=c.get(Calendar.MONTH);
sop(mons[indexmonth]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
int indexweek=c.get(Calendar.DAY_OF_WEEK);
sop(week[indexweek]);
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}
运行结果如下图所示:
2015-12-15著