Java从零开始学三十一(DATE和Calendar类)

一、Date类

Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期

二、Calendar类

Calendar类可以将取得的时间精确到毫秒。但是,这个类本身是一个抽象类,如果要想使用一个抽象类,则必须依靠对象的多态性,通过子类进行父类的实例化操作,Calendar的子类是GregorianCalendar类。
package com.pb.demo3;



import java.util.Calendar;

import java.util.GregorianCalendar;



/*

 * 使用Calendar类显示当前时间,

 * 使用get方法表示时间,日期的各个部分数字如:年,月,日

 * 使用set方法设置日期字段,将当前时间设置为9月

 * 使用add方法为给定的日历字段添加或者减去指定的时间量,在当前时间上加10天

 * 使用GregorianCalendar的isLeapYear方法判断是否是闰年

 */

public class CalendarDemo {



    public static void main(String[] args) {

        /*

         * 将当前日期时间表是为年,月,日,时,分,秒

         */

        Calendar calendar=Calendar.getInstance();  //日历对象

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

        int month=calendar.get(Calendar.MONTH)+1;  //月份默认是0-11需要手动加1

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

        int hour=calendar.get(Calendar.HOUR_OF_DAY);

        int minute=calendar.get(Calendar.MINUTE);

        int second=calendar.get(Calendar.SECOND);

        System.out.println("今天是: "+year+"年"+month+"月"+day+"日");

        System.out.println("现在时:  "+hour+"时"+minute+"分"+second+"秒");

        /*将当前时间的月份设置为9 月*/

        calendar.set(Calendar.MONTH, 8);  //设置月份时-1

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

        int month1=calendar.get(Calendar.MONTH)+1;  //月份默认是0-11需要手动加1

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

        System.out.println("今天是: "+year1+"年"+month1+"月"+day1+"日");

        //将当前时间加10天

        calendar.add(Calendar.DAY_OF_MONTH, 10);

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

        int month2=calendar.get(Calendar.MONTH)+1;  //月份默认是0-11需要手动加1

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

        System.out.println("今天是: "+year2+"年"+month2+"月"+day2+"日");

        /*判断 是否是闰年*/

        GregorianCalendar gregorianCalendar=new GregorianCalendar();

        boolean flag=gregorianCalendar.isLeapYear(gregorianCalendar.get(gregorianCalendar.YEAR));

        if(flag==true){

            System.out.println("今年是闰年!");

        }else{

            System.out.println("今年是不闰年!");

        }

    }



}

 

 三、SimpleDateFormat类

格式化模板
No.
标记
描述
1
y
年,年份是四位数字,所以需要使用“yyyy”表示年。
2
M
年中的月份,月份是两位数字,所以需要使用“MM”表示月。
3
d
月中的天数,天数是两位数字,所以需要使用“dd”表示日。
4
H
一天中的小时数(24小时),小时是两位数字,使用“HH”表示小时。
5
m
小时中的分钟数,分钟是两位数字,使用“mm”表示分钟。
6
s
分钟中的秒数,秒是两位数字,使用“ss”表示秒。
7
S
毫秒数,毫秒数字是三位数字,使用“SSS”表示毫秒。

四、例子

package com.pb.demo3;



import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;



public class DateTest {



    public static void main(String[] args) {

        //声明SimpleDateFormat对象并规定格式

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        //获得当前时间

        Date date=new Date();

        System.out.println("当前时间: "+sdf.format(date));

        String newStr="2011-08-25 14:07:26";

        try {

            Date newdate=sdf.parse(newStr);

            System.out.println("转换后的时间:"+newdate);

           

        } catch (ParseException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        

    }



}

 

你可能感兴趣的:(calendar)