您的位置:首页 > 编程语言 > Java开发

[置顶] JavaSE学习笔记_16:Java-Calendar类

2016-04-06 21:21 567 查看
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著
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: