Java Data类的简单学习

Date类的概述

  1. java.util,Date 表示日期和时间的类

  2. 类 Date 表示特定的瞬间,精确到千分之一秒(毫秒)

  3. 实例引入:获取时间原点到当前系统时间经历了多少秒

    // 时间原点:1970 年 01 月 01 日 00:00:00
    
    public class DemoDate {
        public static void main(String[] args) {
            System.out.println(System.currentTimeMillis());
        }
    }
    

Date类常用的构造方法和成员方法

成员方法

getTime()方法。返回:时间原点以来,此Date对象表示的毫秒数

import java.util.Date;

public class DemoGetTime {
    public static void main(String[] args) {
        Date date = new Date();
        long time = date.getTime();
        
        // 输出:1578728202850
        // 该方法类似于 System.currentTimeMillis()
        System.out.println(time);
    }
}

构造方法

Date类的无参构造方法。

返回:当前系统的日期和时间

import java.util.Date;

public class DemoDate1 {
    public static void main(String[] args) {
        Date date = new Date();

        // 输出:Sat Jan 11 15:40:50 CST 2020
        System.out.println(date);
    }
}

Date类的带参构造方法

Date(long date) 参数为一个毫秒值,把传入的毫秒值转换为Date日期

返回:传入参数(毫秒值)对应的的日期和时间

import java.util.Date;

public class DemoDate2 {
    public static void main(String[] args) {
        Date date = new Date(0L);

        // 这里输出的是0毫秒时的日期和时间,即时间原点的日期和时间
        // 输出:Thu Jan 01 08:00:00 CST 1970
        System.out.println(date);
    }
}

DateFormat抽象类和SimpleDateFormat实现类

说明

  1. java.text.DateFormat类,是日期/时间格式化子类的抽象类

  2. 作用:格式化(也就是日期->文本)、解析(文本->日期)

  3. 成员方法

    1. string format( Datedate)按照指定的模式,把Date日期,格式化为符合模式的字符串
    2. Date parse( string source)把符合模式的字符串,解析为Dote日期
  4. DateFormat类是一个抽象类,无法直接创建对象使用,可以使用 DateFormat类的子类java.text.SimpleDateFormat extends DateFormat

  5. 构造方法:SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat

    1. 参数:string pattern:传递指定的模式

    2. 模式:
                     区分大小写的
                     y       年
                     M       月
                     d       日
                     H       时
                     m       分
                     s       秒
      
    3. 注意事项:写对应的模式,会把模式替换为对应的时间和日期。

      如:"yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒"

测试

  1. 测试DateFormat类的format方法,输出指定格式的日期、时间

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Demo01FormatMethod {
        public static void main(String[] args) {
            // 创建SimpleDateFormat对象,在SimpleDateFormat(String pattern)构造方法中传入指定的模式
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
    
            // 调用DateFormat的实现类SimpleDateFormat中的format方法,
            // 按照构造方法中指定的模式,把Date解析为符合模式的字符串(文本)
            Date date = new Date();
            String dateFormat = simpleDateFormat.format(date);
    
            // Sat Jan 11 16:24:43 CST 2020
            System.out.println(date);
            // 2020 年 01 月 11 日 16 时 24 分 43 秒
            System.out.println(dateFormat);
        }
    }
    
  2. 测试DateFormat类的parse方法,把符合构造方法中模式的字符串,解析为Date日期

    /**
     * DateFormat类中的parse方法,把文本解析为日期
     * 使用步骤:
     *          1,创建 SimpleDateFormat对象,构造方法中传递指定的模式
     *          2.调用 SimpleDateFormat对象中的 parse方法,把符合SimpleDateFormat(String pattern)构造方法中模式的字符串,解析为Date日期
     * 注意:
     *      public Date parse(String source) throws ParseException
     *      parse方法声明了ー个异常叫 ParseException
     *      如果字符串和构造方法的模式不ー样,那么程序就会抛出此异常
     *      调用一个出了异常的方法,就必须的处理这个异常,
     *      要么 throws 继续批出这个昇常,要么 try catch自己处理
     */
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Demo01ParseMethod {
        public static void main(String[] args)
                throws ParseException {
            // 创建SimpleDateFormat对象,在SimpleDateFormat(String pattern)构造方法中传入指定的模式
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
    
            // 调用 SimpleDateFormat对象中的 parse方法,把符合构SimpleDateFormat(String pattern)造方法中模式的字符串,解析为Date日期
            Date dateParse = simpleDateFormat.parse("2020 年 01 月 11 日 16 时 24 分 43 秒");
    
            // Sat Jan 11 16:24:43 CST 2020
            System.out.println(dateParse);
        }
    }
    
posted @ 2020-01-11 17:15  LeeHua  阅读(4130)  评论(3编辑  收藏  举报