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));
    }
}
相关推荐
kkeeper~2 小时前
0基础C语言积跬步之字符函数与字符串函数(上)
c语言·开发语言
她的男孩2 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
RainCity2 小时前
Java Swing 自定义组件库分享(七)
java·笔记·后端
Sam_Deep_Thinking2 小时前
连锁门店的外卖订单平台对接
java·微服务·架构·系统架构
_遥远的救世主_3 小时前
从一次结果集密集型查询 OOM 看 Java 服务的稳定性架构治理
java·后端
hhb_6183 小时前
Swift核心技术难点与实战案例解析
开发语言·ios·swift
一楼的猫3 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
程序leo源3 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
likerhood4 小时前
Java static 关键字从浅入深
java·开发语言
猫猫的小茶馆4 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32