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));
    }
}
相关推荐
_F_y19 分钟前
C++重点知识总结
java·jvm·c++
打工的小王21 分钟前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
毕设源码-赖学姐22 分钟前
【开题答辩全过程】以 高校体育场馆管理系统为例,包含答辩的问题和答案
java·spring boot
我真会写代码23 分钟前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
vx_Biye_Design24 分钟前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计
java干货28 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
_F_y28 分钟前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言
DN金猿30 分钟前
接口路径正确,请求接口却提示404
java·tomcat
毕设源码-郭学长30 分钟前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析
无小道1 小时前
Qt——常用控件
开发语言·qt