Java第三代时间API

一.LocalDate

复制代码
import org.junit.jupiter.api.Test;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;

public class TestLocalDate {
    @Test
    public void testLocalDate() {
        /*
        * LocalDate : 获取日期(构造器私有)
        * 1. LocalDate.of(int year, int month, int dayOfMonth) : 获取指定日期--赋值给对象
        *   1.1 LocalDate locDat = LocalDate.of(2020, 10, 10);//先创建LocalDate的对象,使用locDar.function();
        *       int year = locDat.getYear();//获取对象的年
        *   1.2 int month = locDat.getMonthValue();//获取对象月
        *   1.3 int dat = locDat.getDayOfMonth();//获取对象日
        * 2.LocalDate.now() : 获取当前日期
        * 3.枚举类型
        *   3.1 Month.of(int month) : 获取指定月份
        *   3.2 DayOfWeek.of(int dayOfWeek) : 获取指定星期
        * 4.parse() : 解析合法的字符串为时间
        *   4.1 LocalDate locDat = LocalDate.parse("2020-10-10");
        * */

        //1.LocalDate.of(int year, int month, int dayOfMonth) : 获取指定日期--赋值给对象
        LocalDate locDat = LocalDate.of(2020, 10, 10);
        /*  1.1 LocalDate locDat = LocalDate.of(2020, 10, 10);//先创建LocalDate的对象,使用locDar.function();
               int year = locDat.getYear();//获取对象的年
            1.2 int month = locDat.getMonth();//获取对象月
            1.3 int dat = locDat.getDayOfMonth();//获取对象日*/
        int year = locDat.getYear();
        int month = locDat.getMonthValue();
        int dat = locDat.getDayOfMonth();
        System.out.println(year + "年" + month + "月" + dat + "日");
        //2.LocalDate.now() : 获取当前日期
        LocalDate now = LocalDate.now();
        System.out.println("The result of : LocalDate now = LocalDate.now(); is " + now);
        /** 3.枚举类型
                *   3.1 Month.of(int month) : 获取指定月份
                *   3.2 DayOfWeek.of(int dayOfWeek) : 获取指定星期*/
        Month month1 = locDat.getMonth();
        DayOfWeek dayOfWeek = locDat.getDayOfWeek();
        System.out.println("The result of : Month month1 = locDat.getMonth(); is " + month1);
        System.out.println("The result of : DayOfWeek dayOfWeek = locDat.getDayOfWeek(); is " + dayOfWeek);

    }
}

二.LocalTime

复制代码
import org.junit.jupiter.api.Test;

import java.time.LocalTime;

public class TestLocalTime {
    @Test
    public void testLocalTime() {
        /*
        * LocalTime : 获取时间
        * 1.LocalTime.now() : 获取当前时间
        * 2.LocalTime.of(int,int,int) : 获取某时间,参数:时,分,秒
        *   2.1int h = localTime.getHour(); 获取小时
        *   2.2int m = localTime.getMinute(); 获取分钟
        *   2.3int s = localTime.getSecond(); 获取秒
        *   2.4int n = localTime.getNano(); 获取纳秒
        * 3.LocalTime.parse("HH:mm:ss") : 把合法的时间格式解析为LocalTime对象
        * */

        //1.LocalTime.now() : 获取当前时间
        LocalTime localTime = LocalTime.now();
        System.out.println("LocalTime is : " + localTime);

        /* 2.LocalTime.of(int,int,int) : 获取某时间,参数:时,分,秒
                *   2.1int h = localTime.getHour(); 获取小时
                *   2.2int m = localTime.getMinute(); 获取分钟
                *   2.3int s = localTime.getSecond(); 获取秒
                *   2.4int n = localTime.getNano(); 获取纳秒*/
        LocalTime localTime1 = LocalTime.of(11, 12, 13);
        int h = localTime1.getHour();
        int m = localTime1.getMinute();
        int s = localTime1.getSecond();
        System.out.println("LocalTime is : " + h + "时" + m + "分" + s + "秒");

        /* 3.LocalTime.parse("HH:mm:ss") : 把合法时间格式解析为LocalTime对象*/
        LocalTime localTime2 = LocalTime.parse("11:12:13");
        System.out.println("Parsed LocalTime is : " + localTime2);
    }
}

三.LocalDateTime

复制代码
import org.junit.jupiter.api.Test;

import java.time.*;

public class TestLocalDateTime {
    @Test
    public void testLocalDateTime() {
        /*
        * LocalDateTime API : 获取当前日期和时间
        * 1.LocalDateTime.now() : 获取当前日期和时间
        * 2.LocalDateTime localDateTime = LocalDateTime.of(date,time); : 创建某天的对象
        *   2.1  LocalDateTime localDateTime = LocalDateTime.of(2026,1,14,10,10,10); : 创建某天的对象
        *   2.2  locDate.atTime(LocalTime) : 获取某天某个时间
        *         LocalDate locDat = LocalDate.of(2026,1,14);
        *         locDate.atTime(LocalTime) : 拼接成为一个LocalDateTime对象
        *   2.3  locTime.atDate(LocalDate) : 获取某时间某天
        *         LocalTime locTime = LocalTime.of(10,10,10);
        *         locTime.atDate(LocalDate) : 拼接成为一个LocalDateTime对象
        * 3.转换为LocalDate,LocalTime
        *   3.1  LocalDate localDate = localDateTime.toLocalDate();
        *   3.2  LocalTime localTime = localDateTime.toLocalTime();
        * 4.获取时间戳 Instant类表示的是1970-1-1到现在的秒数。
        *   4.1  Instant.now() : 获取时间戳
        *   4.2  Instant.parse("2020-10-10T10:10:10") : 获取时间戳,转换为Instant对象
        * 5.Period,Duration : 计算两个日期,时间之间的间隔
        *   5.1  Period : 计算两个日期之间的间隔
        *       5.1.1  Period.between(start,end) : 计算两个日期之间的间隔
        *       5.1.2  Period.ofDays(10) : 获取两个日期之间的间隔
        *       5.1.3  Period.of(1,1,1); : 获取两个日期之间的间隔
        *   5.2  Duration : 获取两个时间之间的间隔
        *       5.2.1  Duration.between(start,end) : 获取两个时间之间的间隔
        *       5.2.2  Duration.ofDays(10) : 获取两个时间之间的间隔
        * */
        LocalDate localDate = LocalDate.now();
        System.out.println("LocalDate is : "+localDate);
        LocalTime localTime = LocalTime.now();
        System.out.println("LocalTime is : "+localTime);
        LocalDateTime now = LocalDateTime.now();
        System.out.println("LocalDateTime is : " + now);
        System.out.println("LocalDateTime is : " + now.getYear() + "年" + now.getMonthValue() +
                "月" + now.getDayOfMonth() + "日" + now.getHour() + "时" + now.getMinute() + "分" + now.getSecond() + "秒");
        Month month = now.getMonth();
        System.out.println("LocalDateTime is : " + month);
        int dayOfMonth = now.getDayOfMonth();
        System.out.println("LocalDateTime is : " + dayOfMonth);
        DayOfWeek dayOfWeek = now.getDayOfWeek();
        System.out.println("LocalDateTime is : " + dayOfWeek);
        int dayOfYear = now.getDayOfYear();
        System.out.println("LocalDateTime is : " + dayOfYear);
        LocalDate start = LocalDate.of(2028,11,26);
        boolean leapYear = start.isLeapYear();
        System.out.println("LocalDateTime is : " + leapYear);
    }
}

四.DateTimeFormatter

复制代码
import org.junit.jupiter.api.Test;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class TestDateTimeFomatter {
    @Test
    public void testDateTimeFormatter() {
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        LocalDateTime now = LocalDateTime.now();
        System.out.println("LocalDateTime is : " + dateTimeFormatter.format(now));
    }
}
相关推荐
功德+n15 分钟前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨17 分钟前
python扫码登录dy
开发语言·python
我是唐青枫22 分钟前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.27 分钟前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange30 分钟前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo31 分钟前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
froginwe1137 分钟前
CSS 创建:从基础到高级
开发语言
wuxinyan1231 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书1 小时前
搭建Spring Boot开发环境
java·spring boot·后端
冰河团队1 小时前
一个拉胯的分库分表方案有多绝望?整个部门都在救火!
java·高并发·分布式数据库·分库分表·高性能