——- android培训、java培训、期待与您交流! ———-
Calendar类
我的印象
这是一个日期类,如果要操作日期,就查阅这个类的API
API
这是一个抽象类,不能直接被实例化
通过下面的方法获取一个实例
static Calendar getInstance()
使用默认时区和语言环境获得一个日历。
有两个构造函数
protected Calendar()
构造一个带有默认时区和语言环境的 Calendar。
protected Calendar(TimeZone zone, Locale aLocale)
构造一个带有指定时区和语言环境的 Calendar。
有很多字段
有一个直接子类
GregorianCalendar
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
//获取Calendar对象
//Calendar c = Calendar.getInstance();
//System.out.println(c);
//常用字段
//System.out.println(c.get(Calendar.DAY_OF_WEEK)+getWeek(c.get(Calendar.DAY_OF_WEEK)));//2 星期一
//System.out.println(c.get(Calendar.DAY_OF_MONTH));//11 日
//System.out.println(c.get(Calendar.YEAR));//2015 年
//System.out.println(c.get(Calendar.MONTH)+"对应中文月份:"+getMonth(c.get(Calendar.MONTH)));
//4 从0看开始计数,所以4对应于5月
//获取当前时间
//Date d = c.getTime();
//System.out.println(d);//Mon May 11 16:45:47 CST 2015
//设置日历字段的值
//c.set(2014,4,11,18,20,20);
////年份/月份/日期/增加或减少方法演示
//c.add(Calendar.YEAR,1);
//c.add(Calendar.MONTH,1);
//c.add(Calendar.DAY_OF_MONTH,1);
////打印结果2015/06/12 18:20:20 星期五
////年份/月份/日期/增加或减少方法演示
//c.add(Calendar.YEAR,-1);
//c.add(Calendar.MONTH,-1);
//c.add(Calendar.DAY_OF_MONTH,-1);
////打印结果2013/04/10 18:20:20 星期三
//获取修改后的时间
//Date d = c.getTime();
////将指定模式传给SimpleDateFormat对象
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
////将时间格式化
//String time = sdf.format(d);
//System.out.println(time);//2014/05/11 18:20:20 星期日
//练习一演示
//int year = 2000;
//int days = febDays(year);
//System.out.println(year+"年二月有"+days+"天");
}
//查表法显示中文月份
public static String getMonth(int month)
{
String[] months = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
int index = month;
return months[index];
}
//查表法显示中文星期
public static String getWeek(int DAY_OF_WEEK)
{
String[] weeks = {
"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int index = DAY_OF_WEEK;
return weeks[index];
}
//练习一:任意年的二月有多少天
public static int febDays(int year)
{
//获取日历对象
Calendar c = Calendar.getInstance();
//设置为某年的3月1日
c.set(year,2,1);
////设置日历年份
//c.set(Calendar.YEAR,year);
////设置月份为三月
//c.set(Calendar.MONTH,2);
////设置天数为1
//c.set(Calendar.DAY_OF_MONTH,1);
//日历减少一天
c.add(Calendar.DAY_OF_MONTH,-1);
//返回二月的最后一天
return c.get(Calendar.DAY_OF_MONTH);
}
}