1、LocalDate 年、月、日
LocalDate
类表示日期对象,只包含 年、月、日,不包含时间信息。这类对象通常用于表示一个完整的日期,比如生日、纪念日等。
常见的用法:
- 获取当前日期。
- 获取指定的日期对象。
- 修改日期或进行日期比较。
代码示例:
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
类表示时间对象,只包含 时、分、秒,不包含日期信息。这类对象通常用于表示一天中的某个时间点,比如会议时间、闹钟时间等。
常见的用法:
- 获取当前时间。
- 创建指定的时间对象。
- 修改时间或进行时间比较。
代码示例:
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
的功能,表示精确到秒的日期时间对象。
常见的用法:
- 获取当前日期时间。
- 创建指定的日期时间对象。
- 进行日期时间的修改或比较。
代码示例:
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() 用于增加日期或时间。