1. Date类(Java.utilDate)

    java.util.Date类用于封装日期及时间信息,一般仅用它显示某个日期,不对他作任何操作处理,作处理用Calendar类,计算方便。

    //创建一个Date实例,默认的构造方法创建的日期代表当前系统时间

    Date date=new Date();

    //此类重写了toString()方法,输出的是日期格式

     System.out.println(date);

    //查看date内部的毫秒值

     long time=date.getTime();

    // 设置毫秒数让一个时间Date表示一天后的当前时间

     date.setTime(time+1000*60*60*24);


2. Calendar类

    java.util.Calendar类用于封装日历信息,其主作用在于其方法可以对时间分量进行运算。

    1)通过Calendar的静态方法获取一个实例该方法会根据当前系统所在地区来自行决定时区,帮我们创建Calendar实例,这里要注意,实际上根据不同的地区,Calendar有若干个子类实现。而Calendar本身是抽象类,不能被实例化!我们不需要关心创建的具体实例为哪个子类,我们只需要根据Calendar规定的方法来使用就可以了。

    2)日历类所解决的根本问题是简化日期的计算,要想表示某个日期还应该使用Date类描述。Calendar是可以将其描述的时间转化为Date的,我们只需要调用其getTime()方法就可以获取描述的日期的Date对象了。

    3)通过日历类计算时间:为日历类设置时间,日历类设置时间使用通用方法set。

set(int field,int value),field为时间分量,Calendar提供了相应的常量值,value为对应的值。

    4)只有月份从0开始:0为1月,以此类推,11为12月,其他时间是正常的从1开始。也可以使用Calendar的常量 calendar.NOVEMBER……等.

    5)Calendar.DAY_OF_MONTH 月里边的天---几号;

         Calendar.DAY_OF_WEEK 星期里的天---星期几

         Calendar.DAY_OF_YEAR 年里的天

         Calendar calendar=Calendar.getInstance();// 构造出来表示当前时间的日历类

         Date now=calendar.getTime();// 获取日历所描述的日期

         calendar.set(Calendar.YEAR, 2012);// 设置日历表示2012年

         calendar.set(Calendar.DAY_OF_MONTH,15);// 设置日历表示15号

         calendar.add(Calendar.DAY_OF_YEAR, 22);// 想得到22天以后是哪天

         calendar.add(Calendar.DAY_OF_YEAR, -5);//5天以前是哪天

         calendar.add(Calendar.MONTH, 1); // 得到1个月后是哪天

         System.out.println(calendar.getTime());// 获取日历所描述的

    6)获取当前日历表示的日期中的某个时间单位可以使用get方法.

        int year=calendar.get(Calendar.YEAR);

        int month=calendar.get(Calendar.MONTH);

        int day=calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(year+"年"+(month+1)+"月"+day+"日");//month要处理


    案例5:

        Java核心API -- 4(日期类)_第1张图片



3. SimpleDateFormat类

    java.text.SimpleDateFormat类,日期转换类,该类的作用是可以很方便的在字符串和日期类之间相互转换。

    parse方法用于按照特定格式将表示时间的字符串转化成Date对象。

    format方法用于将日期数据(对象)按照指定格式转为字符串

    //创建一个SimpleDateFormat并且告知它要读取的字符串格式

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

    //创建一个日期格式字符串

    String dateFormat="2013-05-14";

    //将一个字符串转换为相应的Date对象

    Date date=sdf.parse(dateFormat);//要先捕获异常

    System.out.println(date);//输出这个Date对象

    // 定义显示日期的字符串格式

    SimpleDateFormat format1=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

    Date now=new Date(); // 获取当前时间

    String nowStr=sdf.format(now);//把对象传进去转出字符串