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不能错过的时间操作相关推荐

  1. python自学时间-学习Python、Python时间操作有哪些?

    一.背景知识介绍: 1.时间是人类规定的产物,与长度单位是一个道理,米这个单位也是人类发明的.简单说就是地球自转1圈为1天,地球饶太阳公转1圈为1年,而且根据公转自转度量时间都是不可靠的(因为非匀速无 ...

  2. Firebird日期时间操作

    最近在使用Firebird数据做 一项目,使用FireBird边用边学.(以下转贴) 查询2007年度以后的,12月份以上的数据记录,datetime为timestamp字段 select * fro ...

  3. 易语言---时间操作

    时间操作 .版本 2 .支持库 spec' 到时间() 到时间 ("20200128") 调试输出 (到时间 ("20200128")) ' 输出:[2020年 ...

  4. java List最大_在java中获取List集合中最大的日期时间操作

    取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...

  5. openresty开发系列20--lua的时间操作

    openresty开发系列20--lua的时间操作 在 Lua 中,函数 time.date 和 difftime 提供了所有的日期和时间功能. 在 OpenResty 的世界里,不推荐使用这里的标准 ...

  6. python获取系统时间函数_Python常用时间操作总结【取得当前时间、时间函数、应用等】...

    本文实例讲述了Python常用时间操作.分享给大家供大家参考,具体如下: 我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 > ...

  7. mysql存储过程时间_mysql时间操作函数和存储过程

    因为业务须要统计一批数据.用到关于mysql的时间操作函数和存储过程,问题已经基本解决.把过程记录下: 1. mysql的语句中不支持直接用循环.循环仅仅能在存储过程中使用. 2. 写为文件时,注意一 ...

  8. linux脚本日期时间,Linux 日期和时间操作详解

    Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07   作者:佚名   我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...

  9. php时间操作函数总结,基于php常用函数总结(数组,字符串,时间,文件操作)

    数组:[重点1]implode(分隔,arr) 把数组值数据按指定字符连接起来 例如: $arr=array('1','2','3','4'); $str=implode('-',$arr); exp ...

最新文章

  1. python有趣代码-wtfPython―Python中一组有趣微妙的代码【收藏】
  2. python dlib学习(八):训练人脸特征点检测器
  3. 用NGUI做一个计时条!
  4. error C2471和error C1083
  5. 利用HttpSessionListener实现网站在线人数统计功能
  6. pandas入门(2)
  7. 基于GDAL的一个通用的3×3模板函数
  8. Discuz! X2.5 添加风格模板
  9. 《剑指offer》面试题18——树的子结构(C++)
  10. RK3399pro 使用TNN日记 2(Linux系统)
  11. X波段卡塞格伦天线设计与仿真
  12. Linux系统搭建FTP服务器教程
  13. Unity空间与运动(中山大学3D游戏作业3)
  14. 连续函数的最佳平方逼近
  15. 学术角度看区块链:数字广告行业的“他山之石”
  16. 光线追踪渲染实战(四):微平面理论与迪士尼 BRDF,严格遵循物理!
  17. 批量提取同一文件夹内相同后缀名文件
  18. android抗锯齿的几个方法
  19. 【架构】常见技术点--故障异常
  20. phpcms mysql设置_PHPCMS mysql优化教程_PHPCms教程

热门文章

  1. (转载)WPS Excel中单元格内容改变自动变色
  2. 《数循环》笔记:未来属于终身学习者
  3. http之 半包 粘包
  4. 一文说清FISCO BCOS性能压测(附实例教程)
  5. 阿里巴巴马云:成功创业三大拷问
  6. 含绝对值的不等式恒成立_Simplelife_新浪博客
  7. word2vec学习+使用介绍
  8. Kmeans聚类 使用Pytorch和GPU加速
  9. 【答读者问46】一场由夏普率引发的乱斗(backtrader,pyfolio和聚宽都是怎么计算夏普率的?)
  10. 虚拟聊天室(中介者模式实战)