java中日期时间类的api

目录

[1. Instant 类](#1. Instant 类)

构造方法

1)Instant.now():获取当前时间戳。

常用方法

[1)plus(Duration duration)](#1)plus(Duration duration))

[2)minus(Duration duration)](#2)minus(Duration duration))

3)toEpochMilli()

[4)ofEpochMilli(long epochMilli)](#4)ofEpochMilli(long epochMilli))

5)案例:Instant类的简单使用

1.代码

2.效果

​编辑

[2. LocalDate 类](#2. LocalDate 类)

构造方法

1)LocalDate.now()

[2)LocalDate.of(int year, int month, int dayOfMonth)](#2)LocalDate.of(int year, int month, int dayOfMonth))

常用方法

[1)plusDays(long daysToAdd)](#1)plusDays(long daysToAdd))

[2)minusDays(long daysToSubtract)](#2)minusDays(long daysToSubtract))

[3)getYear(), getMonthValue(), getDayOfMonth()](#3)getYear(), getMonthValue(), getDayOfMonth())

[4)with(TemporalAdjuster adjuster)](#4)with(TemporalAdjuster adjuster))

案例:LocalDate的简单使用

1.代码

2.效果

[3. LocalTime 类](#3. LocalTime 类)

构造方法

1)LocalTime.now()

[2)LocalTime.of(int hour, int minute, int second, int nanoOfSecond)](#2)LocalTime.of(int hour, int minute, int second, int nanoOfSecond))

常用方法

[1)plusHours(long hoursToAdd)](#1)plusHours(long hoursToAdd))

[2)minusMinutes(long minutesToSubtract)](#2)minusMinutes(long minutesToSubtract))

[3)getHour(), getMinute(), getSecond(), getNano()](#3)getHour(), getMinute(), getSecond(), getNano())

案例:LocalTime的简单使用

1.代码

2.效果

[4. LocalDateTime 类](#4. LocalDateTime 类)

构造方法

1)LocalDateTime.now()

[2)LocalDateTime.of(LocalDate date, LocalTime time)](#2)LocalDateTime.of(LocalDate date, LocalTime time))

常用方法

[1)plusDays(long daysToAdd)](#1)plusDays(long daysToAdd))

[2)minusHours(long hoursToSubtract)](#2)minusHours(long hoursToSubtract))

3)toLocalDate()

4)toLocalTime()

案例:LocalDateTime的简单使用

1.代码

2.效果

[5. Period 类](#5. Period 类)

构造方法

[1)Period.between(LocalDate startDate, LocalDate endDate)](#1)Period.between(LocalDate startDate, LocalDate endDate))

常用方法

[2)getYears(), getMonths(), getDays()](#2)getYears(), getMonths(), getDays())

[3)plusYears(long yearsToAdd)](#3)plusYears(long yearsToAdd))

[4)minusMonths(long monthsToSubtract)](#4)minusMonths(long monthsToSubtract))

案例:Period的简单使用

1.代码

2.效果

[6. Duration 类](#6. Duration 类)

构造方法

[1)Duration.between(LocalTime startTime, LocalTime endTime)](#1)Duration.between(LocalTime startTime, LocalTime endTime))

[2)Duration.ofSeconds(long seconds)](#2)Duration.ofSeconds(long seconds))

常用方法

[1)getSeconds(), getNano()](#1)getSeconds(), getNano())

[2)plusSeconds(long secondsToAdd)](#2)plusSeconds(long secondsToAdd))

[3)minusNanos(long nanosToSubtract)](#3)minusNanos(long nanosToSubtract))

案例:Duration类的简单使用

1.代码

2.效果


1. Instant 类

Instant 表示时间线上的一个瞬间点,通常用于记录应用程序中的时间戳。

构造方法

1)Instant.now():获取当前时间戳。

java 复制代码
Instant now = Instant.now();

常用方法

1)plus(Duration duration)

  • 返回一个新的 Instant 对象,表示在当前时间基础上加上指定的持续时间。

    java 复制代码
    Instant now = Instant.now();
    Instant later = now.plus(Duration.ofHours(1));

2)minus(Duration duration)

  • 返回一个新的 Instant 对象,表示在当前时间基础上减去指定的持续时间。

    java 复制代码
    Instant now = Instant.now();
    Instant earlier = now.minus(Duration.ofHours(1));

3)toEpochMilli()

  • Instant 转换为自 1970-01-01T00:00:00Z(UTC)以来的毫秒数。

    java 复制代码
    Instant now = Instant.now();
    long epochMillis = now.toEpochMilli();

4)ofEpochMilli(long epochMilli)

  • 从给定的自 1970-01-01T00:00:00Z 以来的毫秒数创建 Instant

    java 复制代码
    Instant now = Instant.now();
    Instant instantFromMillis = Instant.ofEpochMilli(epochMillis);

5)案例:Instant类的简单使用

1.代码

java 复制代码
package org.xiji.mydate;

import java.time.Duration;
import java.time.Instant;

public class MyInstant {
    public static void main(String[] args) {
        //Instant类的api简单使用
        Instant instant = Instant.now();
        System.out.println("Instant获取当前时间:"+instant);

        //表示在当前时间基础上加上指定的持续时间。
        System.out.println("Instant获取当前时间戳后面一个小时:"+instant.plus(Duration.ofHours(1)));

        System.out.println("Instant获取当前时间戳之前一个小时:"+instant.minus(Duration.ofHours(1)));

        System.out.println("Instant获取当前时间戳的毫秒数:"+instant.toEpochMilli());
        



    }
}

2.效果

2. LocalDate 类

LocalDate 表示不带时区的日期(年、月、日)。

构造方法

1)LocalDate.now()

  • 获取当前日期。

    java 复制代码
    LocalDate today = LocalDate.now();

2)LocalDate.of(int year, int month, int dayOfMonth)

  • 从给定的年、月、日创建 LocalDate

    java 复制代码
    LocalDate today = LocalDate.now();
    LocalDate specificDate = LocalDate.of(2023, 10, 9);

常用方法

1)plusDays(long daysToAdd)

  • 返回一个新的 LocalDate 对象,表示在当前日期基础上加上指定的天数。

    java 复制代码
    LocalDate today = LocalDate.now();
    LocalDate tomorrow = today.plusDays(1);

2)minusDays(long daysToSubtract)

  • 返回一个新的 LocalDate 对象,表示在当前日期基础上减去指定的天数。

    java 复制代码
    LocalDate today = LocalDate.now();
    LocalDate yesterday = today.minusDays(1);

3)getYear(), getMonthValue(), getDayOfMonth()

  • 分别获取年、月、日。

    java 复制代码
    LocalDate today = LocalDate.now();
    
    int year = today.getYear();
    int month = today.getMonthValue();
    int day = today.getDayOfMonth();

4)with(TemporalAdjuster adjuster)

  • 使用 TemporalAdjuster 调整日期。

    java 复制代码
    LocalDate today = LocalDate.now();
    
    LocalDate firstDayOfNextMonth = today.with(TemporalAdjusters.firstDayOfNextMonth());

案例:LocalDate的简单使用

1.代码

java 复制代码
package org.xiji.mydate;

import java.time.LocalDate;

public class MyLocalDate {
    public static void main(String[] args)
    {
        System.out.println("LocalDate的api简单使用");
        LocalDate localDate = LocalDate.now();
        System.out.println("LocalDate获取当前时间:"+localDate);
        System.out.println("LocalDate获取当前年份:"+localDate.getYear());
        System.out.println("LocalDate获取当前月份:"+localDate.getMonth());

        System.out.println("LocalDate获取星期几:"+localDate.getDayOfWeek());
    }
}

2.效果

3. LocalTime 类

LocalTime 表示不带时区的时间(小时、分钟、秒、纳秒)。

构造方法

1)LocalTime.now()

  • 获取当前时间。

    java 复制代码
    LocalTime now = LocalTime.now();

2)LocalTime.of(int hour, int minute, int second, int nanoOfSecond)

  • 从给定的小时、分钟、秒、纳秒创建 LocalTime

    java 复制代码
    LocalTime now = LocalTime.now();
    LocalTime specificTime = LocalTime.of(14, 30, 0, 0);

常用方法

1)plusHours(long hoursToAdd)

  • 返回一个新的 LocalTime 对象,表示在当前时间基础上加上指定的小时数。

    java 复制代码
    LocalTime now = LocalTime.now();
    LocalTime later = now.plusHours(1);

2)minusMinutes(long minutesToSubtract)

  • 返回一个新的 LocalTime 对象,表示在当前时间基础上减去指定的分钟数。

    java 复制代码
    LocalTime now = LocalTime.now();
    
    LocalTime earlier = now.minusMinutes(30);

3)getHour(), getMinute(), getSecond(), getNano()

  • 分别获取小时、分钟、秒、纳秒。

    java 复制代码
    LocalTime now = LocalTime.now();
    
    int hour = now.getHour();
    int minute = now.getMinute();
    int second = now.getSecond();
    int nano = now.getNano();

案例:LocalTime的简单使用

1.代码

java 复制代码
package org.xiji.mydate;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class MyLocalTime {
    public static void main(String[] args)
    {

        LocalTime localTime = LocalTime.now();

        System.out.println("LocalTime获取当前时间:"+localTime);
        System.out.println("LocalTime获取当前小时:"+localTime.getHour());
        System.out.println("LocalTime获取当前分钟:"+localTime.getMinute());
        System.out.println("LocalTime获取当前秒:"+localTime.getSecond());
        System.out.println("LocalTime获取当前毫秒:"+localTime.getNano());

        System.out.println("LocalTime获取当前时间:"+localTime.toString());
        //日期格式化
        System.out.println("LocalTime日期格式化:"+localTime.format(DateTimeFormatter.ofPattern("HH:mm:ss")));
    }

}

2.效果

4. LocalDateTime 类

LocalDateTime 表示不带时区的日期和时间(年、月、日、小时、分钟、秒、纳秒)。

构造方法

1)LocalDateTime.now()

  • 获取当前日期和时间。

    java 复制代码
    LocalDateTime now = LocalDateTime.now();

2)LocalDateTime.of(LocalDate date, LocalTime time)

  • 从给定的 LocalDateLocalTime 创建 LocalDateTime

    java 复制代码
    LocalDateTime now = LocalDateTime.now();
    
    LocalDateTime specificDateTime = LocalDateTime.of(specificDate, specificTime);

常用方法

1)plusDays(long daysToAdd)

  • 返回一个新的 LocalDateTime 对象,表示在当前日期和时间基础上加上指定的天数。

    java 复制代码
    LocalDateTime now = LocalDateTime.now();
    
    LocalDateTime tomorrow = now.plusDays(1);

2)minusHours(long hoursToSubtract)

  • 返回一个新的 LocalDateTime 对象,表示在当前日期和时间基础上减去指定的小时数。

    java 复制代码
    LocalDateTime now = LocalDateTime.now();
    
    LocalDateTime earlier = now.minusHours(1);

3)toLocalDate()

  • 获取 LocalDate 部分。

    java 复制代码
    LocalDateTime now = LocalDateTime.now();
    
    LocalDate datePart = now.toLocalDate();

4)toLocalTime()

  • 获取 LocalTime 部分。

    java 复制代码
    LocalDateTime now = LocalDateTime.now();
    
    LocalTime timePart = now.toLocalTime();

案例:LocalDateTime的简单使用

1.代码

java 复制代码
package org.xiji.mydate;

import java.time.LocalDateTime;

public class MyLocalDateTime {
    public static void main(String[] args) {
        System.out.println("LocalDateTime的api简单使用");
        System.out.println("LocalDateTime获取当前时间:"+ LocalDateTime.now());
        
        System.out.println("LocalDateTime获取当前年份:"+LocalDateTime.now().getYear());
        
        System.out.println("LocalDateTime获取当前月份:"+LocalDateTime.now().getMonth());
        
        System.out.println("LocalDateTime获取当前月份:"+LocalDateTime.now().getMonthValue());
        
        System.out.println("LocalDateTime获取当前星期几:"+LocalDateTime.now().getDayOfWeek());
        
        System.out.println("LocalDateTime获取当前星期几的值:"+LocalDateTime.now().getDayOfWeek().getValue());
        
        System.out.println("LocalDateTime获取当前星期几的名字:"+LocalDateTime.now().getDayOfWeek().name());
        
    }
}

2.效果

5. Period 类

Period 表示一段时间,通常是日期之间的差值,以年、月、日为单位。

构造方法

1)Period.between(LocalDate startDate, LocalDate endDate)

  • 计算两个 LocalDate 之间的差值。

    java 复制代码
    Period period = Period.between(startDate, endDate);

常用方法

2)getYears(), getMonths(), getDays()

  • 分别获取年、月、日。

    java 复制代码
    Period period = Period.between(startDate, endDate);
    
    int years = period.getYears();
    int months = period.getMonths();
    int days = period.getDays();

3)plusYears(long yearsToAdd)

  • 返回一个新的 Period 对象,表示在当前时间段基础上加上指定的年数。

    java 复制代码
    Period period = Period.between(startDate, endDate);
    
    Period longerPeriod = period.plusYears(1);

4)minusMonths(long monthsToSubtract)

  • 返回一个新的 Period 对象,表示在当前时间段基础上减去指定的月数。

    java 复制代码
    Period period = Period.between(startDate, endDate);
    
    Period shorterPeriod = period.minusMonths(1);

案例:Period的简单使用

1.代码

java 复制代码
package org.xiji.mydate;

import java.time.LocalDate;

public class MyPeriod {
    public static void main(String[] args)
    {
        LocalDate date1 = LocalDate.of(2018, 1, 1);
        LocalDate date2 = LocalDate.of(2018, 12, 31);
        System.out.println("LocalDate的api简单使用");
        System.out.println("LocalDate获取date1当前时间:"+date1);
        System.out.println("LocalDate获取date2当前时间:"+date2);
        System.out.println("LocalDate。date2是否在date1之后:"+(date2.isAfter(date1)));
        System.out.println("LocalDate。date2是否在date1之前:"+(date2.isBefore(date1)));
        System.out.println("LocalDate。date2和date1是否相等:"+(date2.isEqual(date1)));
        System.out.println("LocalDate。date2是否是闰年:"+(date2.isLeapYear()));
        System.out.println("LocalDate。date2这个月的天数:"+(date2.lengthOfMonth()));
        System.out.println("LocalDate。date2这一年的天数:"+(date2.lengthOfYear()));
        System.out.println("LocalDate。date2之前一天:"+(date2.minusDays(1)));
        System.out.println("LocalDate。date2之前一个月:"+(date2.minusMonths(1)));
        System.out.println("LocalDate。date2之前一年:"+(date2.minusYears(1)));
        System.out.println("LocalDate。date2之后一天:"+(date2.plusDays(1)));
        System.out.println("LocalDate。date2之后一个月:"+(date2.plusMonths(1)));
        System.out.println("LocalDate。date2之后一年:"+(date2.plusYears(1)));


    }
}

2.效果

6. Duration 类

Duration 表示一段时间,通常是时间之间的差值,以秒和纳秒为单位。

构造方法

1)Duration.between(LocalTime startTime, LocalTime endTime)

  • 计算两个 LocalTime 之间的差值。

    java 复制代码
    Duration duration = Duration.between(startTime, endTime);

2)Duration.ofSeconds(long seconds)

  • 从给定的秒数创建 Duration

    java 复制代码
    Duration oneMinute = Duration.ofSeconds(60);

常用方法

1)getSeconds(), getNano()

  • 分别获取秒数和纳秒数。

    java 复制代码
    Duration duration = Duration.between(startTime, endTime);
    long seconds = duration.getSeconds();
    int nano = duration.getNano();

2)plusSeconds(long secondsToAdd)

  • 返回一个新的 Duration 对象,表示在当前时间段基础上加上指定的秒数。

    java 复制代码
    Duration duration = Duration.between(startTime, endTime);
    Duration longerDuration = duration.plusSeconds(60);

3)minusNanos(long nanosToSubtract)

  • 返回一个新的 Duration 对象,表示在当前时间段基础上减去指定的纳秒数。

    java 复制代码
    Duration duration = Duration.between(startTime, endTime);
    
    Duration shorterDuration = duration.minusNanos(1000000);

案例:Duration类的简单使用

1.代码

java 复制代码
package org.xiji.mydate;


import java.time.Duration;

public class MyDuration {
    public static void main(String[] args)
    {

        System.out.println("Duration的api简单使用");

        Duration duration = Duration.ofDays(1);

        System.out.println("Duration获取天数:"+duration.toDays());
        System.out.println("Duration获取小时:"+duration.toHours());
        System.out.println("Duration获取分钟:"+duration.toMinutes());
        System.out.println("Duration获取秒:"+duration.getSeconds());
        System.out.println("Duration获取纳秒:"+duration.toNanos());
        System.out.println("Duration获取毫秒:"+duration.toMillis());

        


    }
}

2.效果

相关推荐
《源码好优多》1 小时前
基于Java Springboot出租车管理网站
java·开发语言·spring boot
余辉zmh2 小时前
【c++篇】:深入c++的set和map容器--掌握提升编程效率的利器
开发语言·c++
·云扬·5 小时前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
求积分不加C5 小时前
Spring Boot中使用AOP和反射机制设计一个的幂等注解(两种持久化模式),简单易懂教程
java·spring boot·后端
枫叶_v5 小时前
【SpringBoot】26 实体映射工具(MapStruct)
java·spring boot·后端
东方巴黎~Sunsiny5 小时前
java-图算法
java·开发语言·算法
2401_857617626 小时前
汽车资讯新趋势:Spring Boot技术解读
java·spring boot·后端
小林学习编程7 小时前
从零开始理解Spring Security的认证与授权
java·后端·spring
写bug的羊羊7 小时前
Spring Boot整合Nacos启动时 Failed to rename context [nacos] as [xxx]
java·spring boot·后端
ad禥思妙想7 小时前
如何运行python脚本
开发语言·python