前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java8新特性之时间

Java8新特性之时间

作者头像
暴躁的程序猿
发布2022-03-23 20:14:15
发布2022-03-23 20:14:15
24400
代码可运行
举报
运行总次数:0
代码可运行

JAVA8新特性

时间

LocalDate LocalTime LocalDateTime是不可变对象 使用ISO-8601日历系统

ISO-8601是国际标准化组织制定的现代公民的日期和时间的表示法

获取当前时间日期

代码语言:javascript
代码运行次数:0
运行
复制
public class TestLocalDateTime {
    //1.localDate 日期   LocalTime时间   LocalDateTime日期和时间
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
    }
}

输出

2021-08-14T14:55:43.503

指定日期时间

代码语言:javascript
代码运行次数:0
运行
复制
LocalDateTime of = LocalDateTime.of(2021, 8, 14, 14, 56, 40);
System.out.println(of);

输出

2021-08-14T14:56:40

当前日期加上一个月

代码语言:javascript
代码运行次数:0
运行
复制
LocalDateTime months = now.plusMonths(1);
System.out.println(months);

输出

2021-09-14T14:58:17.312

当前日期减去五天

代码语言:javascript
代码运行次数:0
运行
复制
//减5天
LocalDateTime localDateTime = now.minusDays(5);
System.out.println(localDateTime);

输出

2021-08-09T14:59:43.950

获取年月日时分秒

代码语言:javascript
代码运行次数:0
运行
复制
//获取年月日时分秒
System.out.println(localDateTime);
System.out.println(now.getYear());
System.out.println(now.getMonth().getValue());
System.out.println(now.getDayOfMonth());
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
代码语言:javascript
代码运行次数:0
运行
复制
输出
2021
8
14
15
5
35

Instant :时间戳(以Unix元年:1970年1月1日0时0分0秒 到 当某个时间的毫秒值)

代码语言:javascript
代码运行次数:0
运行
复制
 public class InstantTest {
        public static void main(String[] args) {
            //获取时间戳
            Instant now = Instant.now();
            System.out.println(now);
        }
    }

输出

2021-08-14T07:10:30.049Z

默认获取的是UTC时区的时间 跟当前时间不符

代码语言:javascript
代码运行次数:0
运行
复制
//偏移八个时区的时间
OffsetDateTime offsetDateTime = now.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime);

输出

2021-08-14T15:48:29.674+08:00 就是当前时间

代码语言:javascript
代码运行次数:0
运行
复制
//在1970年1月1日0时0分0秒 的基础上加上60秒
Instant instant = Instant.ofEpochSecond(60);
System.out.println(instant);

输出 过了一分钟

1970-01-01T00:01:00Z

Period:计算两个日期之间的间隔

代码语言:javascript
代码运行次数:0
运行
复制
LocalDate now = LocalDate.now();
LocalDate of = LocalDate.of(2021, 9, 1);
Period between = Period.between(now, of);
System.out.println(between);

输出

P18D

Duration : 计算两个时间之间的间隔

代码语言:javascript
代码运行次数:0
运行
复制
public class Interval {
    public static void main(String[] args) throws InterruptedException {
        Instant now1 = Instant.now();
        Thread.sleep(100);
        Instant now2 = Instant.now();
        System.out.println(Duration.between(now1, now2));
    }
}

输出

PT0.1S

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档