java8时间类

java8引入了一套全新的时间日期API

新的时间及日期API位于java.time中java.time包中的是类是不可变且线程安全的。

下面是一些关键类

LocalDateTime       //2018-05-12 08:30:30

LocalDate              //2018-5-12

LocalTime              //08:30:30:622

Instans                   //时间戳 2018-05-12T14:20:13.592Z

获取当前日期

LocalDate   now = LocalDate.now();

获取年: now.getYear();

获取月: now.getMonthValue();

获取天: now.getDayofMonth();

获取前一天:now.minusDays(1);

获取前一周:now.minusWeeks(1);

获取前一月:now.minusMonths(1);

获取前一年:now.minusYears(1);

获取后一天:now.plusDays(1);

获取后一周:now.plusWeeks(1);

获取后一月:now.plusMonths(1);

获取后一年:now.plusYears(1);

获取当前时间

LocalDateTime nowTime = LocalDate.now();

获取前一小时:nowTime.minusHours(1);

获取前一分钟:nowTime.minusMinutes(1);

获取前30秒:nowTime.minusSeconds(30);

获取后一小时:now.plusHours(1);

获取后一分钟:now.plusMinutes(1);

获取后30秒:now.plusSeconds(30);

nowTime也可以获取前一天,前一月。。。后一天,后一月。。。

时间格式转换

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

String nowTimeString = nowTime.format(format);

LocalDateTime nowTimechange = LocalDateTime.parse(nowTimeString,format);

时间比较大小

LocalDateTime time1 = LocalDateTime.of(2018, 5, 12, 8, 30,30);
or
time1 = LocalDateTime.parse("2018-05-12 08:30:30",format);
LocalDateTime time2
= LocalDateTime.of(2018, 4, 20, 16, 30, 30); or time2 = LocalDateTime.parse("2018-04-20 16:30:30",format);

 

time1.isAfter(time2)       true
time1.isEqual(time2)      false
time1.isBefore(time2)    false

 

posted @   小奔的早晨  阅读(402)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示