0
点赞
收藏
分享

微信扫一扫

Java8新特性:时间相关类(二)

1、LocalDate 年、月、日

LocalDate 类表示日期对象,只包含 年、月、日,不包含时间信息。这类对象通常用于表示一个完整的日期,比如生日、纪念日等。

常见的用法:

  1. 获取当前日期。
  2. 获取指定的日期对象。
  3. 修改日期或进行日期比较。

代码示例:

import java.time.LocalDate;
import java.time.Month;
import java.time.DayOfWeek;

public class LocalDateDemo {
    public static void main(String[] args) {
        // 1. 获取当前日期
        LocalDate today = LocalDate.now();
        System.out.println("今天的日期: " + today);

        // 2. 创建指定的日期
        LocalDate birthday = LocalDate.of(2000, Month.JANUARY, 1);
        System.out.println("指定的日期: " + birthday);

        // 3. 获取日期的各个部分
        int year = birthday.getYear();
        int month = birthday.getMonthValue();
        int dayOfMonth = birthday.getDayOfMonth();
        DayOfWeek dayOfWeek = birthday.getDayOfWeek();
        System.out.println("年份: " + year + ", 月份: " + month + ", 日: " + dayOfMonth + ", 星期: " + dayOfWeek);

        // 4. 比较两个日期
        boolean isBefore = birthday.isBefore(today);
        System.out.println("生日是否在今天之前: " + isBefore);

        // 5. 修改日期
        LocalDate modifiedDate = birthday.withYear(2023);
        System.out.println("修改后的日期: " + modifiedDate);
    }
}

解释:

  • LocalDate.now() 获取当前日期。
  • LocalDate.of() 创建指定的日期对象。
  • getYear(), getMonthValue() 等方法可以获取日期的各个部分。
  • isBefore() 和 isAfter() 用于比较两个日期的先后。
  • withXxx() 方法用于修改日期。

2、LocalTime 时、分、秒

LocalTime 类表示时间对象,只包含 时、分、秒,不包含日期信息。这类对象通常用于表示一天中的某个时间点,比如会议时间、闹钟时间等。

常见的用法:

  1. 获取当前时间。
  2. 创建指定的时间对象。
  3. 修改时间或进行时间比较。

代码示例:

import java.time.LocalTime;

public class LocalTimeDemo {
    public static void main(String[] args) {
        // 1. 获取当前时间
        LocalTime now = LocalTime.now();
        System.out.println("当前时间: " + now);

        // 2. 创建指定的时间
        LocalTime meetingTime = LocalTime.of(14, 30);
        System.out.println("会议时间: " + meetingTime);

        // 3. 获取时间的各个部分
        int hour = meetingTime.getHour();
        int minute = meetingTime.getMinute();
        int second = meetingTime.getSecond();
        System.out.println("时: " + hour + ", 分: " + minute + ", 秒: " + second);

        // 4. 比较两个时间
        boolean isBefore = meetingTime.isBefore(now);
        System.out.println("会议时间是否在当前时间之前: " + isBefore);

        // 5. 修改时间
        LocalTime newTime = meetingTime.plusHours(2);
        System.out.println("延后2小时后的会议时间: " + newTime);
    }
}

解释:

  • LocalTime.now() 获取当前时间。
  • LocalTime.of() 创建指定的时间对象。
  • getHour(), getMinute(), getSecond() 分别获取时间的各个部分。
  • isBefore() 用于比较两个时间的先后。
  • plusXxx() 方法用于增加时间。

3、LocalDateTime 年、月、日、时、分、秒

LocalDateTime 类包含了日期和时间信息,结合了 LocalDate 和 LocalTime 的功能,表示精确到秒的日期时间对象。

常见的用法:

  1. 获取当前日期时间。
  2. 创建指定的日期时间对象。
  3. 进行日期时间的修改或比较。

代码示例:

import java.time.LocalDateTime;

public class LocalDateTimeDemo {
    public static void main(String[] args) {
        // 1. 获取当前日期时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println("当前日期时间: " + now);

        // 2. 创建指定的日期时间
        LocalDateTime meetingDateTime = LocalDateTime.of(2023, 10, 1, 14, 30);
        System.out.println("会议日期时间: " + meetingDateTime);

        // 3. 获取日期时间的各个部分
        int year = meetingDateTime.getYear();
        int month = meetingDateTime.getMonthValue();
        int day = meetingDateTime.getDayOfMonth();
        int hour = meetingDateTime.getHour();
        int minute = meetingDateTime.getMinute();
        System.out.println("年: " + year + ", 月: " + month + ", 日: " + day + ", 时: " + hour + ", 分: " + minute);

        // 4. 修改日期时间
        LocalDateTime modifiedDateTime = meetingDateTime.plusDays(5);
        System.out.println("5天后的日期时间: " + modifiedDateTime);
    }
}

解释:

  • LocalDateTime.now() 获取当前日期和时间。
  • LocalDateTime.of() 创建指定的日期时间对象。
  • getYear(), getMonthValue() 等方法获取日期时间的各个部分。
  • plusXxx() 用于增加日期或时间。
举报

相关推荐

0 条评论