• Java日志第24天 2020.7.29


    Date类

    Date类的概念与作用

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

    1秒 = 1000 毫秒

    时间原点(0毫秒):1970年1月1日 0:0:0(英国格林尼治天文台时间)

    而因为中国属于东八区,故时间原点应在此基础上加上八个小时。

    输出时间原点

    public class Demo01Date {
        public static void main(String[] args) {
            System.out.println(System.currentTimeMillis());
        }
    }

    毫秒值与时间换算

    1天 = 24小时 * 60分钟 *60秒 * 1000毫秒 = 86400000毫秒

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

    构造方法主要有:

    Date()无参构造方法。用于获取当前系统的时间和日期

    Date(Long time) 有参构造方法,用于得到自时间原点经历毫秒值所得到的时间

    成员方法主要有:

    getTime()方法,用于获取当前系统时间的毫秒值。

    具体实现如下代码:

    import java.util.Date;
    
    public class Demo02Date {
        public static void main(String[] args) {
    
            demo01();
            demo03(demo02());
    
        }
    
        /*
        Date类的无参构造方法
        用于获取当前系统的时间和日期
         */
        public static void demo01(){
            Date date = new Date();
            System.out.println(date);
        }
        /*
        Long getTime()方法返回自时间原点到系统时间的毫秒值
        相当于Ststem.currentTimeMills()方法
         */
        public static long demo02(){
            Date date = new Date();
            long time = date.getTime();
            return time;
        }
        /*
        Date有参构造方法
        参数是一个毫秒值
        返回从时间原点经过毫秒值到达的时间
         */
        public static void demo03(Long time){
            Date date = new Date(time);
            System.out.println(date);
        }
    }

    结果如下:

    DateFormat类

    DateFormat是时间、日期格式化子类的抽象类。它有一个直接已知子类SimpleDateFormat类,一个父类Format类。

    作用:1.格式化(日期->文本) 2.解析(文本->日期)

    成员方法:

    1. String format(Date date) 按照指定的模式,把Date日期格式化为符合标准的字符串

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

    DateFormat是一个抽象类,无法直接使用创建对象,应该使用子类。

    java.text.SimpleDateFormat

    构造方法

    SimpleDateFormat(String pattern)

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

    参数:String pattern  传递指定的模式

    模式:区分大小写

    y 年  M 月  d 日  H 时  m 分  s秒

    模式写法:

    yyyy-MM-dd HH:mm:ss

    模式中的字母不能更改,连接模式的符号可以改变。

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Demo01DateFormat {
        public static void main(String[] args) throws ParseException {
            System.out.println("日期转换为文本:");
            demo01();
    
            System.out.println("===============");
            System.out.println("文本转换为日期:");
            demo02();
        }
    
        /*
        使用format方法将日渐转换为文本
         */
        public static void demo01(){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            String d = sdf.format(date);
    
            System.out.println(date);
            System.out.println(d);
        }
    
        /*
        使用parse方法解析时间日期类
        但是注意:如果字符串和构造方法的模式不一样,那么程序就会抛出此异常
        调用一个抛出了异常的方法,就必须处理这个异常
        两种方法:1.throws继续抛出这个异常
                 2.try catch自己处理这个异常
         */
        public static void demo02() throws ParseException {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = sdf.parse("2020-07-29 11:19:38");
            System.out.println(date);
        }
    }

    结果如下:

    今天学习的内容非常实用,在开发C++程序的时候,很多时候用到获取系统时间,而Java中的Date类和DateFormat类很好的解决了此问题。

    明天继续学习Calendar和System类

  • 相关阅读:
    iOS 开发学习之 User Interface(2)UIWindow 视窗
    iOS 开发学习之 User Interface(1)APP 生命周期
    OC-学习Tips
    初识Objective-C
    Android代码报错:setContentView(R.layout.activity_main)
    解决Discuz! info: MySQL Query Error
    技术网站
    java调用机器上的shell脚本
    素材网、图片库
    database工具
  • 原文地址:https://www.cnblogs.com/Gazikel/p/13396095.html
Copyright © 2020-2023  润新知