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 ~
Java 日期时间与unix时间戳之间转换的更多相关文章
- Linux命令date日期时间和Unix时间戳互转
A.将日期转换为Unix时间戳将当前时间以Unix时间戳表示: date +%s 输出如下: 1361542433 转换指定日期为Unix时间戳: date -d '2013-2-22 22:14' ...
- C#中系统时间和UNIX时间戳互相转换
在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年 ...
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
- paip.日期时间操作以及时间戳uapi php java python 总结
paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...
- Java 日期时间 Date类型,long类型,String类型表现形式的转换
Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...
- Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)
Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...
- python datetime和unix时间戳之间相互转换
python datetime和unix时间戳之间相互转换 1.代码: import time import datetime # ...
- 一文告诉你Java日期时间API到底有多烂
前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...
- Java 日期时间
Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...
随机推荐
- IDEA文件查找功能失效(ctrl+shift+N)
由于断电.蓝屏引起的强制关机等情况,会导出IDEA文件查找功能失效,Enter file name窗口输入的文字显示红色,无法查出需要的文件. 解决方法: 可以点击File,选择Invalidate ...
- 【idea】idea学习手册
学习笔记:https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-q3ke2coy.html 断点调试:https://www.cnb ...
- 关于Linux中nohup.out日志过大问题
背景,java项目,一般在运行JAVA程序时需要用到nohup命令来实现后台启动日志,默认保存在当前目露nohup.out文件.但是有些程序输出nohup文件会出现过大的情况. 在此解决如下: 1,在 ...
- 接口测试01- Jmeter-线程进程-环境变量
1.1 概念 JMeter 是 Apache 组织使用 Java 开发的一款测试工具 ,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java ...
- 制作Visual Studio 2017 (VS 2017) 离线安装包 (转)
史上功能最强大的Visual Studio 2017版本发布,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下载的安装文件.如果用户处在一个与外网隔离的网络环境 ...
- 大名鼎鼎的UniDAC手工安装
第一次开博,该写点什么.由于懒,很多事情,都不想动.不过,懒不能解决遗忘的毛病.还是动手,记录一下吧. 好了,言归主题. UniDAC 的手工安装. 现在Delphi,已经发展到了XE6,支持多种移动 ...
- Delphi ADOConnection连接
unit Unit_DM; interface usesSysUtils, Classes, DB, ADODB,inifiles,windows,forms,controls; typeTDM = ...
- redis连接时报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused
在/etc目录下找到redis.conf 将daemonize no 修改为 daemonize yes 再输入 redis-server /usr/local/etc/redis.conf redi ...
- jsConfig那些事儿
jsConfig 是为了解决 vscode 的警告. { "compilerOptions": { "experimentalDecorators": true ...
- LODOP和C-LODOP注册与角色等简短问答【增强版】
之前的简短问答:Lodop.c-lodop注册与角色简短问答.Lodop简短问答客户反馈篇 及排查步骤 及注册相关本文重新整理相关简短问答,调整问答顺序,增加相关的问答. 其他相关(非简短问答):LO ...