zoukankan      html  css  js  c++  java
  • 日期时间类

    日期时间类

    2.1 Date类

    概述

    java.util.Date类 表示特定的瞬间,精确到毫秒。

    继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。

    • public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
    • public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。

    tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。

    简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造参数,可以自定义毫秒时刻。

    import java.util.Date;
    
    public class Demo01Date {
        public static void main(String[] args) {
            demo01();
            demo02();
            demo03();
        }
        /**
    * Date类空参的构造方法
    * Date()获取当前的时间和日期
    * */
        private static void demo01() {
            Date date = new Date();
            // Mon Mar 09 13:02:04 CST 2020
            System.out.println(date);
        }
        /**Date类带参的构造方法
         * Date(Long date)传递毫秒值,把毫秒值转换为Date的日期
         */
        private static void demo02() {
            Date date = new Date(0L);
            // Thu Jan 01 08:00:00 CST 1970
            System.out.println(date);
        }
        /**
        *   long getTime()  把日期转换为毫秒值相当于(system.currentTime()方法)
         *   返回自 1970年 1 月 1日00:00:00 GMT 以来此 Date 对象表示的毫秒数-
        * */
        public static void demo03(){
            Date date = new Date();
            long time = date.getTime();
            // 1583731291264
            System.out.println(time);
        }
    }
    
    

    tips:在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。

    常用方法

    Date类中的多数方法已经过时,常用的方法有:

    • public long getTime() 把日期对象转换成对应的时间毫秒值。

    2.2 DateFormat类

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

    作用:

    格式化(也就是日期--> 文本)、解析(文本-->日期)

    成员方法:

    String format(Date date)按照指定的模式,把Date日期,格式化为符合模式的。

    Date parse(String source) 把符合模式的字符串,解析为Date日期

    注意

    DateForamt类是一个抽象类,无法直接创建对象使用,可以使用DateFormat类的子类

    java.text.SimpleDateFormat extends DateFormat.

    构造方法

    SimpleDateFarmat(String pattern)

    用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

    参数:

    String pattern:传递指定的模式

    模式:区分大小写

    标识字母(区分大小写) 含义
    y
    M
    d
    H
    m
    s

    备注:更详细的格式规则,可以参考SimpleDateFormat类的API文档0。

    创建SimpleDateFormat对象的代码如:

    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    
    public class Demo02SimpleDateFormat {
        public static void main(String[] args) {
            // 对应的日期格式如:2018-01-16 15:06:38
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        }    
    }
    

    常用方法

    DateFormat类的常用方法有:

    • public String format(Date date):将Date对象格式化为字符串。
    • public Date parse(String source):将字符串解析为Date对象。

    format方法

    使用format方法的代码为:

    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    /*
     把Date对象转换成String
    */
    public class Demo03DateFormatMethod {
        public static void main(String[] args) {
            Date date = new Date();
            // 创建日期格式化对象,在获取格式化对象时可以指定风格
            DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
            String str = df.format(date);
            System.out.println(str); // 2008年1月23日
        }
    }
    

    parse方法

    使用parse方法的代码为:

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    /*
     把String转换成Date对象
    */
    public class Demo04DateFormatMethod {
        public static void main(String[] args) throws ParseException {
            DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
            String str = "2018年12月11日";
            Date date = df.parse(str);
            System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
        }
    }
    

  • 相关阅读:
    阿里DatatX mysql8往 Elasticsearch 7 插入时间数据 时区引发的问题
    通俗易懂 k8s (3):kubernetes 服务的注册与发现
    ReplicaSet 和 ReplicationController 的区别
    使用Go module导入本地包
    k8s之statefulset控制器
    终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩
    Atitit drmmr outline org stat vb u33.docx Atitit drmmr outline org stat v0 taf.docx Atitit drmmr out
    Atitit all diary index va u33 #alldiary.docx Atitit alldiaryindex v1 t717 目录 1. Fix 1 2. Diary deta
    Atitit path query 路径查询语言 数据检索语言 目录 1.1. List map >> spel 1 1.2. Html数据 》》Css选择符 1 1.3. Json 》map》
    Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  • 原文地址:https://www.cnblogs.com/anke-z/p/12452468.html
Copyright © 2011-2022 走看看