LocalDate、LocalTime 和 LocalDateTime
LocalDate、LocalTime 和 LocalDateTime
LocalDate:代表本地日期(年、月、日、星期)
2023-10-01
LocalTime:代表本地时间(时、分、秒、纳秒)
17:40:52.298632400
LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)
2023-10-01 17:40:52.298632400
获取对象
方法名 | 示例 |
---|---|
public static Xxxx now(): 获取系统当前时间对应的该对象 | LocaDate ld = LocalDate.now(); |
LocalTime lt = LocalTime.now(); | |
LocalDateTime ldt = LocalDateTime.now(); | |
public static Xxxx of(…):获取指定时间的对象 | LocalDate localDate1 = LocalDate.of(2099 , 11,11); |
LocalTime localTime1 = LocalTime.of(9, 8, 59); | |
LocalDateTime localDateTime1 = LocalDateTime.of(2025, 11, 16, 14, 30, 1); |
LocalDate:
LocalDate:处理年、月、日、星期相关的
方法名 | 说明 |
---|---|
public int getYear() | 获取年 |
public int getMonthValue() | 获取月份(1-12) |
public int getDayOfMonth() | 获取日 |
public int getDayOfYear() | 获取当前是一年中的第几天 |
public DayOfWeek getDayOfWeek() | 获取星期几:ld.getDayOfWeek().getValue() |
方法名 | 说明 |
---|---|
withYear、withMonth、withDayOfMonth、withDayOfYear | 直接修改某个信息,返回新日期对象 |
plusYears、plusMonths、plusDays、plusWeeks | 把某个信息加多少,返回新日期对象 |
minusYears、minusMonths、minusDays,minusWeeks | 把某个信息减多少,返回新日期对象 |
equals、isBefore、isAfter | 判断两个日期对象,是否相等,在前还是在后 |
package com.ouyang.demo09;
import java.time.LocalDate;
public class demo {
public static void main(String[] args) {
// 1.now(): 根据当前时间创建LocalDate对象
LocalDate now=LocalDate.now();
System.out.println("now = " + now);//now = 2024-07-21
// 2.of(int year, int month, int dayOfMonth): 根据指定的年月日创建LocalDate对象
LocalDate of = LocalDate.of(2002, 10, 14);
System.out.println("of = " + of);//of = 2002-10-14
// 3.直接修改某个信息: withYear、withMonth、withDayOfMonth、withDayOfYear
// 新时间都是不可变对象,改时间是返回新的时间对象,原来的时间对象,没有变化
LocalDate localDate = now.withYear(2009);
System.out.println("localDate = " + localDate);//localDate = 2009-07-21
// 4.把某个信息加多少: plusYears、plusMonths、plusDays、plusWeeks
LocalDate localDate1 = now.plusYears(6);
System.out.println("localDate1 = " + localDate1);//localDate1 = 2030-07-21
// 5.把某个信息减多少:minusYears、minusMonths、minusDays、minusWeeks
LocalDate localDate2 = now.minusYears(4);
System.out.println("localDate2 = " + localDate2);//localDate2 = 2020-07-21
// 6.获取 年 月 日
int year = now.getYear();
System.out.println("year = " + year);//year = 2024
// 7.判断2个日期对象,是否相等,在前还是在后: equals isBefore isAfter
System.out.println(now.equals(of));//false
System.out.println(now.isBefore(of));//false
System.out.println(now.isAfter(of));//true
}
}
LocalTime:
LocalTime:处理时、分、秒、纳秒相关的
方法名 | 说明 |
---|---|
public int getHour() | 获取小时 |
public int getMinute() | 获取分 |
public int getSecond() | 获取秒 |
public int getNano() | 获取纳秒 |
方法名 | 说明 |
---|---|
withHour、withMinute、withSecond、withNano | 修改时间,返回新时间对象 |
plusHours、plusMinutes、plusSeconds、plusNanos | 把某个信息加多少,返回新时间对象 |
minusHours、minusMinutes、minusSeconds、minusNanos | 把某个信息减多少,返回新时间对象 |
equals、isBefore 、isAfter | 判断2个时间对象,是否相等,在前还是在后 |
package com.ouyang.demo09;
import java.time.LocalTime;
public class demo02 {
public static void main(String[] args) {
// 1.now(): 根据当前时间创建LocalTime对象
LocalTime now = LocalTime.now();
System.out.println("now = " + now);//now = 17:13:14.172105100
// 2.of(int hour, int minute, int second): 根据指定的时分秒创建LocalTime对象
LocalTime of = LocalTime.of(13, 45, 33);
System.out.println("of = " + of);//of = 13:45:33
// 3.直接修改某个信息: withHour、withMinute、withSecond、withNano
// 新时间都是不可变对象,改时间是返回新的时间对象,原来的时间对象,没有变化
LocalTime localTime1 = now.withHour(12);
System.out.println("localTime1 = " + localTime1);//localTime1 = 12:13:14.172105100
// 4.把某个信息加多少: plusHours、plusMinutes、plusSeconds、plusNanos
LocalTime localTime2 = now.plusHours(3);
System.out.println("localTime2 = " + localTime2);//localTime2 = 20:13:14.172105100
// 5.把某个信息减多少:minusHours、minusMinutes、minusSeconds、minusNanos
LocalTime localTime3 = now.minusHours(7);
System.out.println("localTime3 = " + localTime3);//localTime3 = 10:13:14.172105100
// 6.获取 时 分 秒 纳秒
int hour = now.getHour();
System.out.println("hour = " + hour);//hour = 17
// 7.判断2个日期对象,是否相等,在前还是在后: equals isBefore isAfter
System.out.println(now.equals(of));//false
System.out.println(now.isBefore(of));//false
System.out.println(now.isAfter(of));//true
}
}
LocalDateTime:
LocalDateTime:处理年、月、日、星期、时、分、秒、纳秒等信息
方法名 | 说明 |
---|---|
getYear、getMonthValue、getDayOfMonth、getDayOfYear getDayOfWeek、getHour、getMinute、getSecond、getNano | 获取年月日、时分秒、纳秒等 |
withYear、withMonth、withDayOfMonth、withDayOfYear withHour、withMinute、withSecond、withNano | 修改某个信息,返回新日期时间对象 |
plusYears、plusMonths、plusDays、plusWeeks plusHours、plusMinutes、plusSeconds、plusNanos | 把某个信息加多少,返回新日期时间对象 |
minusYears、minusMonths、minusDays、minusWeeks minusHours、minusMinutes、minusSeconds、minusNanos | 把某个信息减多少,返回新日期时间对象 |
equals 、isBefore 、isAfter | 判断2个时间对象,是否相等,在前还是在后 |
LocalDateTime的转换成LocalDate、LocalTime
方法名 | 说明 |
---|---|
public LocalDate toLocalDate() | 转换成一个LocalDate对象 |
public LocalTime toLocalTime() | 转换成一个LocalTime对象 |