首页 > 学院 > 开发设计 > 正文

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

2019-11-14 23:05:29
字体:
来源:转载
供稿:网友
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.标记描述
1y年,年份是四位数字,所以需要使用“yyyy”表示年。
2M年中的月份,月份是两位数字,所以需要使用“MM”表示月。
3d月中的天数,天数是两位数字,所以需要使用“dd”表示日。
4H一天中的小时数(24小时),小时是两位数字,使用“HH”表示小时。
5m小时中的分钟数,分钟是两位数字,使用“mm”表示分钟。
6s分钟中的秒数,秒是两位数字,使用“ss”表示秒。
7S毫秒数,毫秒数字是三位数字,使用“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();        }            }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表