• 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();
            }
            
        }
    
    }
  • 相关阅读:
    Java集合:HashMap
    Java线程池原理
    Linux常用命令
    分布式系统基本概念
    接口中的default方法(默认方法)
    正则表达式匹配+过滤
    Java Optional类
    mongo过期索引
    Java8函数式接口简介
    JS版微信6.0分享接口用法分析
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4302443.html
Copyright © 2020-2023  润新知