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.效果

相关推荐
秦苒&几秒前
【C语言】详解数据类型和变量(一):数据类型介绍、 signed和unsigned、数据类型的取值范围、变量、强制类型转换
c语言·开发语言·c++·c#
我爱学习_zwj几秒前
动态HTTP服务器实战:解析请求与Mock数据
开发语言·前端·javascript
降临-max1 分钟前
JavaWeb企业级开发---Ajax、
java·ajax·maven
NMBG221 分钟前
外卖综合项目
java·前端·spring boot
小徐Chao努力6 分钟前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
咖啡不甜不好喝13 分钟前
IDEA全局设置以及实用的配置
idea
梅孔立13 分钟前
【实用教程】python 批量解析 EML 邮件文件 存成txt ,可以利用 AI 辅助快速生成年终总结
开发语言·python
Alsn8615 分钟前
26.IDEA 专业版中创建简单的 Web 项目并打包部署到本地Tomcat 9
前端·tomcat·intellij-idea
rannn_11115 分钟前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea
我家领养了个白胖胖15 分钟前
向量化和向量数据库redisstack使用
java·后端·ai编程