java中的Date类,Calendar类, SimpleDateFormat 类
SimpleDateFormat 类
主要作用是格式化日期。例如下边的例子:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date();
String dateStr=sdf.format(date);
System.out.println(dateStr);
Calendar类
主要
String str="2013-12-25";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date=sdf.parse(str);
System.out.println(date);
Calendar类 是抽象类,其具体子类对不同国家的日历系统,其中应用最广泛的是GregorianCalendar(格里高里历,即通用的阳历),对应世界绝大多数国家/地区使用的标准日历系统,其主要作用在于其方法可以对时间分量进行运算。
例子1.
Calendar c=Calendar.getInstance();
//输出Calendar对象所属的实际类型
System.out.println(c.getClass().getName());
//getTime方法返回对象的Date对象
System.out.println(c.getTime());
//创建GregorianCalendar对象
GregorianCalendar c1=new GregorianCalendar(2013,Calendar.DECEMBER,25);
System.out.println(c1.getTime());
例子2
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR, 2013);
c.set(Calendar.MONTH, Calendar.DECEMBER);
c.set(Calendar.DATE, 25);
System.out.println(c.getTime());
例子3
int year=2014;
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.DATE, 1);
for(int month=Calendar.JANUARY;month<=Calendar.DECEMBER;month++){
c.set(Calendar.MONTH, month);
System.out.println(year+"年"+(month+1)+"月:"+c.getActualMaximum(Calendar.DATE));
}
Date类和Calendar类的转化
Calendar calendar=Calendar.getInstance();
Date date=new Date();
calendar.setTime(date);//将Date转换为Calendar
date=calendar.getTime();//将Calendar转换为Date