日期时间  <-->  时间戳

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. Kali linux 2018 安装 Fluxion

    本人是在VMware 12下安装 Kali linux 2018.2版本 安装完成后 用命令行运行更新   apt-get update apt-get full-upgrade   更新所有组件. ...

  2. 第10组 Beta冲刺(1/5)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 tomcat的学习与实现 服务器后端部署,API接口的beta版实现 后端代码 ...

  3. jmeter cookie管理器

    jmeter cookie管理器 不能用正则表达式获取登录接口生成的cookie 因为cookies并不是在登录的响应结果中生成的,而是在response header中携带的,所以不能用正则表达式提 ...

  4. 将linux上的网站代码托管到gogs git服务器上进行实时同步(实战)

    一.说明 本说明只针对php,其他语言需要编译请用别的架构实现 二.实现效果 本地开发员门提交推送代码到git服务器,会立即同步更新网站服务器上代码 三.实战步骤小节 首次托管请先看   https: ...

  5. mysql查询列定义,是否自增等

    SELECT ORDINAL_POSITION AS Colorder, Column_Name AS ColumnName, data_type AS TypeName, COLUMN_COMMEN ...

  6. shell关闭指定进程

    例如要关闭jupyter-notebook这个进程: ps -ef | grep jupyter-notebook | grep -v grep | cut -c 9-15 | xargs kill ...

  7. python 传入任意多个参数(方法调用可传参或不传参)

    1.可传参数与不传参数,在定义中给参数设置默认值 class HandleYmal: """ 获取测试环境的配置 """ def __ini ...

  8. 关于/r与/n 以及 /r/n 的区别总结

    应该说还是区别的,\r就是回到行首,\n就是到下一行的,但是一般我们输出程序时,看不到明显的差别的 '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来 ...

  9. nginx启动命令以及与配置systemctl

    一.配置systemctl之前的启动方式 进入sbin目录下执行以下命令: 启动nginx的命令为 /usr/local/nginx/sbin/nginx 3 停止nginx的命令为 /usr/loc ...

  10. Bazel安装及使用入门

    Bazel [文档][https://docs.bazel.build/versions/1.1.0/bazel-overview.html] MacOS安装 brew tap bazelbuild/ ...