Jav8不能错过的时间操作
java8之前的时间操作都过于复杂,java8之后推出了一个新的时间类,方便了时间上的操作。下面我们来解析一个基于java8新的时间类的各种操作方式
将时间格式转为对应的LocalDateTime
String openTimeStr = "2021-03-09 10:00:00";
LocalDateTime serverOpenDate = LocalDateTime.parse(openTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
将LocalDateTime 转为 LocalDate
LocalDate serverOpen = serverOpenDate.toInstant(ZoneOffset.ofHours(8)).atZone(ZoneOffset.ofHours(8)).toLocalDate();
LocalDate转为时间戳
LocalDateTime now = LocalDateTime.now();
long nowTime = now.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
LocalDateTime转时间戳
LocalDateTime localDateTime = LocalDateTime.now();
longtimestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
获取两个LocalDate相隔的天数
int days = (int)(now1.toEpochDay()-serverOpen.toEpochDay());
将时间戳转为对应格式的字符串
long time = System.currentTimeMillis(); //"时间戳(且单位为毫秒)"
DateTimeFormatter ftf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String timeStr = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time),ZoneId.systemDefault()));
时间戳与localdate、localdatetime转换
long timestamp = System.currentTimeMillis();
// oneOffset.ofHours(8) 获取那个时区
LocalDate localDate = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDate();
System.out.println(localDate);
LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
System.out.println(localDateTime);
LocalDate转Date
LocalDate nowLocalDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
LocalDateTime转Date
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());
Date转LocalDateTime(LocalDate)
Date date =new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();
获取指定时间的0点和24点的时间
// 获得某天最大时间 public static Date getEndOfDay(Date date) {LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());;LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());}// 获得某天最小时间public static Date getStartOfDay(Date date) {LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());}
Jav8不能错过的时间操作相关推荐
- python自学时间-学习Python、Python时间操作有哪些?
一.背景知识介绍: 1.时间是人类规定的产物,与长度单位是一个道理,米这个单位也是人类发明的.简单说就是地球自转1圈为1天,地球饶太阳公转1圈为1年,而且根据公转自转度量时间都是不可靠的(因为非匀速无 ...
- Firebird日期时间操作
最近在使用Firebird数据做 一项目,使用FireBird边用边学.(以下转贴) 查询2007年度以后的,12月份以上的数据记录,datetime为timestamp字段 select * fro ...
- 易语言---时间操作
时间操作 .版本 2 .支持库 spec' 到时间() 到时间 ("20200128") 调试输出 (到时间 ("20200128")) ' 输出:[2020年 ...
- java List最大_在java中获取List集合中最大的日期时间操作
取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...
- openresty开发系列20--lua的时间操作
openresty开发系列20--lua的时间操作 在 Lua 中,函数 time.date 和 difftime 提供了所有的日期和时间功能. 在 OpenResty 的世界里,不推荐使用这里的标准 ...
- python获取系统时间函数_Python常用时间操作总结【取得当前时间、时间函数、应用等】...
本文实例讲述了Python常用时间操作.分享给大家供大家参考,具体如下: 我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 > ...
- mysql存储过程时间_mysql时间操作函数和存储过程
因为业务须要统计一批数据.用到关于mysql的时间操作函数和存储过程,问题已经基本解决.把过程记录下: 1. mysql的语句中不支持直接用循环.循环仅仅能在存储过程中使用. 2. 写为文件时,注意一 ...
- linux脚本日期时间,Linux 日期和时间操作详解
Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07 作者:佚名 我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...
- php时间操作函数总结,基于php常用函数总结(数组,字符串,时间,文件操作)
数组:[重点1]implode(分隔,arr) 把数组值数据按指定字符连接起来 例如: $arr=array('1','2','3','4'); $str=implode('-',$arr); exp ...
最新文章
- python有趣代码-wtfPython―Python中一组有趣微妙的代码【收藏】
- python dlib学习(八):训练人脸特征点检测器
- 用NGUI做一个计时条!
- error C2471和error C1083
- 利用HttpSessionListener实现网站在线人数统计功能
- pandas入门(2)
- 基于GDAL的一个通用的3×3模板函数
- Discuz! X2.5 添加风格模板
- 《剑指offer》面试题18——树的子结构(C++)
- RK3399pro 使用TNN日记 2(Linux系统)
- X波段卡塞格伦天线设计与仿真
- Linux系统搭建FTP服务器教程
- Unity空间与运动(中山大学3D游戏作业3)
- 连续函数的最佳平方逼近
- 学术角度看区块链:数字广告行业的“他山之石”
- 光线追踪渲染实战(四):微平面理论与迪士尼 BRDF,严格遵循物理!
- 批量提取同一文件夹内相同后缀名文件
- android抗锯齿的几个方法
- 【架构】常见技术点--故障异常
- phpcms mysql设置_PHPCMS mysql优化教程_PHPCms教程