zoukankan      html  css  js  c++  java
  • Java 日期时间与unix时间戳之间转换

    日期时间  <-->  时间戳

    java.time 包提供的新的日期和时间API

    LocalDateTime: 本地日期时间类

    ZoneId: 时区类

    ZonedDateTime: 带时区的日期时间类

    Instant: 高精度时间戳

    long: 长整型

    LocalDateTime + ZoneId = ZonedDateTime

    import java.time.LocalDateTime;
    import java.time.ZoneId;
    import java.time.ZonedDateTime;
    
    public class Main {
        public static void main(String[] args) {
            // 直接获取 ZonedDateTime 对象
            ZonedDateTime zdt1 = ZonedDateTime.now();
            System.out.println(zdt1);
    
            // LocalDateTime + ZoneId = ZonedDateTime
            LocalDateTime ldt = LocalDateTime.now();
            ZonedDateTime zdt2 = ldt.atZone(ZoneId.systemDefault());
            System.out.println(zdt2);
        }
    }
    
    运行结果:
    2019-10-29T14:01:16.169741500+08:00[Asia/Shanghai]
    2019-10-29T14:01:16.170744+08:00[Asia/Shanghai]

    ZonedDateTime --> LocalDateTime

    import java.time.LocalDateTime;
    import java.time.ZonedDateTime;
    
    public class Main {
        public static void main(String[] args) {
            // 直接获取 ZonedDateTime 对象
            ZonedDateTime zdt = ZonedDateTime.now();
            System.out.println(zdt);
    
            //转换为LocalDateTime时,直接丢弃了时区信息
            LocalDateTime ldt = zdt.toLocalDateTime();
            System.out.println(ldt);
        }
    }
    
    运行结果:
    2019-10-29T14:00:13.876198+08:00[Asia/Shanghai]
    2019-10-29T14:00:13.876198

    ZonedDateTime -->  Instant  -->  long

    import java.time.Instant;
    import java.time.ZonedDateTime;
    
    public class Main {
        public static void main(String[] args) {
            // 直接获取 ZonedDateTime 对象
            ZonedDateTime zdt = ZonedDateTime.now();
            System.out.println(zdt);
            // to Instants
            Instant ins = zdt.toInstant();
            System.out.println(ins);
            // to long
            System.out.println(ins.toEpochMilli());
        }
    }
    
    运行结果:
    2019-10-29T14:11:00.265786900+08:00[Asia/Shanghai]
    2019-10-29T06:11:00.265786900Z
    1572329460265

    long  -->  Instant  -->  ZonedDateTime

    import java.time.Instant;
    import java.time.ZoneId;
    import java.time.ZonedDateTime;
    
    public class Main {
        public static void main(String[] args) {
            // 获取 unix 毫秒值
            long insMilli = Instant.now().toEpochMilli();
            System.out.println(insMilli);
    
            // to Instant
            Instant ins = Instant.ofEpochMilli(insMilli);
            // to ZonedDateTime
            ZonedDateTime zdt = ZonedDateTime.ofInstant(ins, ZoneId.systemDefault());
            System.out.println(zdt);
        }
    }
    
    运行结果:
    1572330350986
    2019-10-29T14:25:50.986+08:00[Asia/Shanghai]

    ending ~

    每天都要遇到更好的自己.
  • 相关阅读:
    RUP十大要素的应用
    使用ASP.NET 3.5 Extensions管理浏览器历史:使用服务器端
    Autodesk云计算系列视频 开篇介绍 Up to the cloud 直上云端
    AIMS 2012 不能登录的问题
    Autodesk Infrastructure Modeler (原Galileo伽利略项目)已经正式发布
    MapGuide开发中使用Fusion Viewer及通过程序开关图层
    MapGuide OpenSource 2.2 安装中的数字签名错误
    MapGuide / Map 3D 开发常用资料链接
    基于MapGuide的在线WebGIS站点再介绍
    Autodesk云计算系列视频 云计算与Civil 3D
  • 原文地址:https://www.cnblogs.com/kaichenkai/p/11757931.html
Copyright © 2011-2022 走看看