日期时间  <-->  时间戳

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 ~

Java 日期时间与unix时间戳之间转换的更多相关文章

  1. Linux命令date日期时间和Unix时间戳互转

    A.将日期转换为Unix时间戳将当前时间以Unix时间戳表示: date +%s 输出如下: 1361542433 转换指定日期为Unix时间戳: date -d '2013-2-22 22:14' ...

  2. C#中系统时间和UNIX时间戳互相转换

    在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年 ...

  3. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  4. paip.日期时间操作以及时间戳uapi php java python 总结

    paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...

  5. Java 日期时间 Date类型,long类型,String类型表现形式的转换

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...

  6. Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...

  7. python datetime和unix时间戳之间相互转换

                                python datetime和unix时间戳之间相互转换 1.代码:    import time    import datetime # ...

  8. 一文告诉你Java日期时间API到底有多烂

    前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...

  9. Java 日期时间

    Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...

随机推荐

  1. Dubbo+zookeeper实现单表的增删改查

    1.数据库准备 建表语句 CREATE TABLE `tb_brand` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT ...

  2. spring 整合 servlet

    目的:记录spring整合 servlet过程demo.(企业实际开发中可能很少用到),融会贯通. 前言:在学习spring 过程(核心 ioc,aop,插一句 学了spring 才对这个有深刻概念, ...

  3. docker删除镜像的时候报错--image has dependent child images

    背景 偶然间发现服务器上有很多镜像占用不少空间,想清理一下.结果直接进行删除报错: docker rmi 8f5116cbc201 Error response from daemon: confli ...

  4. iostat参数说明

    一直不太会用这个参数.现在认真研究了一下iostat,因为刚好有台重要的服务器压力高,所以放上来分析一下.下面这台就是IO有压力过大的服务器 # iostat -x 1 10 Linux 2.6.18 ...

  5. numpy模块常用函数解析

    https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...

  6. node.js通过iconv-lite完成gbk字符解码例子

    通过 iconv-lite可以实现中文字符解码 1.安装iconv-lite npm install iconv-lite 2.iconv-lite网址如下 iconv-lite https://gi ...

  7. Jenkins - 安装并启动Jenkins

    1 - 关于Jenkins 构建流水线(build pipeline)工具Jenkins可以轻松地定义和管理各种各样的操作(构建.测试等),并将这些操作像管道pipe一样自由地进行组合,从而自动.流畅 ...

  8. Java面试题大汇总(附答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...

  9. k8s pv,pvc无法删除问题

    一般删除步骤为:先删pod再删pvc最后删pv 但是遇到pv始终处于“Terminating”状态,而且delete不掉.如下图: 解决方法: 直接删除k8s中的记录: 1 kubectl patch ...

  10. iOS:Xcode代码块,提升敲代码的效率

    一.代码块在哪里? 看下图 或者 快捷键:command+shift+L 长这样: 二.如何创建代码块: 1.先选中要创建的代码片段,然后点击右键,选中 Create Code Snippet 然后会 ...