JavaSE学习笔记_16:Java-Calendar类

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著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值