Java | Java的时间日期是怎么处理的?

导读:本篇文章讲解 Java | Java的时间日期是怎么处理的?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、基本思路:时间原点概念

所有的数据类型,无论是整数,布尔,浮点数还是字符串,最后都需要以数字的形式表现出来。
日期类型也不例外,换句话说,一个日期,比如2020年10月1日,在计算机里,会用一个数字来代替。
那么最特殊的一个数字,就是零。零这个数字,就代表Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。 (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个小时)
为什么对应1970年呢? 因为1969年发布了第一个 UNIX 版本:AT&T,综合考虑,当时就把1970年当做了时间原点。
所有的日期,都是以为这个0点为基准,每过一毫秒,就+1

二、Date类:时间接口

Date类,注意:是java.util.Date;
非 java.sql.Date,此类是给数据库访问的时候使用的

基本使用代码示例:

        // 当前时间
        Date d1 = new Date();
        System.out.println("当前时间:");
        System.out.println(d1);
        System.out.println();
        // 从1970年1月1日 早上8点0分0秒 开始经历的毫秒数
        Date d2 = new Date(5000);
        System.out.println("从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间");
        System.out.println(d2);

三、getTime()函数:获取毫秒数值

getTime() 得到一个long型的整数
这个整数代表 从1970.1.1 08:00:00:000 开始 每经历一毫秒,增加1

要获取当前日期的毫秒数,new Date().getTime() 和 System.currentTimeMillis() 是一样的
不过由于机器性能的原因,可能会相差几十毫秒,毕竟每执行一行代码,都是需要时间的

基本使用代码示例:

        Date now= new Date();
        //打印当前时间
        System.out.println("当前时间:"+now.toString());
        System.out.println("当前时间getTime()返回的值是:"+now.getTime());
         
        //构造方法里的0其实就是毫秒数值,所以构造出来的zero其实就是原点时间
        Date zero = new Date(0);
        System.out.println("用0作为构造方法,得到的日期是:"+zero);
  
        //当前日期的毫秒数
        System.out.println("Date.getTime() \t返回值: "+now.getTime());
        //通过System.currentTimeMillis()获取当前日期的毫秒数
        System.out.println("System.currentTimeMillis() \t返回值: "+System.currentTimeMillis());

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103217.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!