Java8新特性——新时间日期API

Java8新特性——新时间日期API

在Java8之前,时间日期API存在线程安全的问题,多线程情况下需要加锁,并且使用起来也比较不方便。Java8为我们提供了新的时间日期API。这篇文章,我们一起来使用下。

1. 使用LocalDate、LocalTime、LocalDateTime

LocalDateLocalTimeLocalDateTime类的实例是不可变的对象,分别表示使用ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。

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

接下来,我们就以LocalDateTime为例,其它2个类使用方法一样,这里不再赘述。

  1. 获取当前时间:
    /**
     * 获取当前时间
     */
    @Test
    public void test1() {
   
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
    }

Output:

2019-05-30T21:36:49.269
  1. 根据字符串创建指定日期对象
    /**
     * 创建指定日期
     */
    @Test
    public void test2(){
   
        LocalDateTime dateTime = LocalDateTime.of(2019, 5, 30, 21, 41, 10);
        System.out.println(dateTime);
    }

Output:

2019-05-30T21:41:10
  1. 日期加减运算
    /**
     * 日期加减运算
     */
    @Test
    public void test3(){
   
        LocalDateTime now = LocalDateTime.of(2019, 5, 30, 21, 45, 10);
        LocalDateTime plusTime = now.plusYears(1) // 加一年
                .plusMonths(2) // 加2月
                .plusDays(3) // 加三天
                .plusHours(4) // 加4小时
                .plusMinutes(5) // 加5分钟
                .plusSeconds(6); // 加6秒
        System.out.println(plusTime);
        LocalDateTime minusTime = now.minusYears(1) // 减一年
                .minusMonths(2) // 减2月
                .minusDays(3) // 减 3天
                .minusHours(4
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值