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));
    }
}
相关推荐
点云SLAM2 小时前
C++ 设计模式之工厂模式(Factory)和面试问题
开发语言·c++·设计模式·面试·c++11·工厂模式
码农水水2 小时前
京东Java面试被问:Spring Boot嵌入式容器的启动和端口绑定原理
java·开发语言·人工智能·spring boot·面试·职场和发展·php
Yuer20252 小时前
状态不是变量:Rust 量化算子中的 State 工程语义
开发语言·后端·深度学习·机器学习·rust
前端切图仔0012 小时前
Chrome 扩展程序上架指南
android·java·javascript·google
彩妙不是菜喵2 小时前
c++:初阶/初始模版
开发语言·c++
Allen_LVyingbo2 小时前
具备安全护栏与版本化证据溯源的python可审计急诊分诊平台复现
开发语言·python·安全·搜索引擎·知识图谱·健康医疗
专注于大数据技术栈2 小时前
java学习--LinkedList
java·开发语言·学习
weixin199701080162 小时前
安家 GO item_get - 获取安家详情数据接口对接全攻略:从入门到精通
java·大数据·python·golang
予枫的编程笔记2 小时前
【Java进阶】Spring Security详解
java·spring security·security