常用类10/LocalDate,LocalTime,LocalDateTime(JDK8中新日期时间API)

JDK8中新日期时间API


在这里插入图片描述
JDK8之前的更新:Date–>Calendar,但是一直存在缺陷,因此:
在这里插入图片描述

简而言之:Java8以后的java.time API 好用,前面的,不好用。



新时间日期API

java.time - 包含值对象的基础包
java.time.chrono - 提供对不同的日历系统的访问
java.time.format - 格式化和解析时间和日期
java.time.temporal - 包括底层框架和扩展特性
java.time.zone - 包含时区支持的类

说明:大多数开发者只会用到基础包和format包,也可能会用到temporal包。因此,尽管有68个新的公开类型,大多数开发者,大概将只会用到其中的三分之一。


API
黄色实例化
橙色涉及get的操作
白色涉及set操作
灰色涉及加减操作
在这里插入图片描述


LocalDate,LocalTime,LocalDateTime 的使用

注:LocaLDateTime相较于LocaLDate、LocalTime,使用频率要高!

LocalDate,LocalTime,LocalDateTime 的使用:

package com.cyl.Date;

import org.junit.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class JDK8DateTimeTest {
    //LocalDate,LocalTime,LocalDateTime 的使用
    @Test
    public void testDate(){

        //实例化1:now():获取当前的日期,时间,日期+时间
        LocalDate localDate = LocalDate.now();//now即为现在
        LocalTime localTime = LocalTime.now();
        LocalDateTime localDateTime = LocalDateTime.now();

        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(localDateTime);

        //实例化2:of():设置指定的年、月、日、时、分秒。没有偏移量
        LocalDateTime localDateTime1 = LocalDateTime.of(2021, 8, 11, 11, 58, 18);
        System.out.println(localDateTime1);

        System.out.println("===============");
        //getXxx
        System.out.println(localDateTime.getDayOfMonth());
        System.out.println(localDateTime.getDayOfWeek());
        System.out.println(localDateTime.getMonth());
        System.out.println(localDateTime.getMonthValue());
        System.out.println(localDateTime.getMinute());

        System.out.println("===============");
        //体现不可变性
        LocalDate localDate1 = localDate.withDayOfMonth(22);//改为22号
        System.out.println(localDate);//本身变量不变
        System.out.println(localDate1);//返回值改变

        LocalDateTime localDateTime2 = localDateTime.withHour(4);
        System.out.println(localDateTime);//本身变量不变
        System.out.println(localDateTime2);//返回值改变

        System.out.println("===============");
        //加操作,同样体现不可变性
        LocalDateTime localDateTime3 = localDateTime.plusMonths(3);//加3个月
        System.out.println(localDateTime);//本身变量不变
        System.out.println(localDateTime3);//返回值改变

        //减操作
        LocalDateTime localDateTime4 = localDateTime.minusDays(6);//减6天
        System.out.println(localDateTime);
        System.out.println(localDateTime4);
    }
}

结果:
在这里插入图片描述
当时运行代码的时间,用作参考
在这里插入图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值