java日期操作

 java中的Date类,Calendar类, SimpleDateFormat 类

java日期操作

 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