LocalDateTime对象的创建方法
// 构造方法
private LocalDateTime(LocalDate date, LocalTime time) {
this.date = date;
this.time = time;
}
- 我们发现由于LocalDateTime类的构造方法是私有的,所以我们不能在类外创建对象,需要用到下面的两个静态方法来获得LocalDateTime对象
- public static LocalDateTime now() // 获取当前系统时间
- public static LocalDateTime of (年, 月 , 日, 时, 分, 秒) // 使用指定年月日和时分秒初始化一个LocalDateTime对象
LocalDateTime获取功能
- public int getYear() 获取年
- public int getMonthValue() 获取月份(1-12)
- public int getDayOfMonth() 获取月份中的第几天(1-31)
- public int getDayOfYear() 获取一年中的第几天(1-366)
- public DayOfWeek getDayOfWeek() 获取星期
- public int getMinute() 获取分钟
- public int getHour() 获取小时
LocalDateTime增加 减少 修改时间
- public LocalDateTime plusYears (long years) 添加或者减去年
- public LocalDateTime plusMonths(long months) 添加或者减去月
- public LocalDateTime plusDays(long days) 添加或者减去日
- public LocalDateTime plusHours(long hours) 添加或者减去时
- public LocalDateTime plusMinutes(long minutes) 添加或者减去分
- public LocalDateTime plusSeconds(long seconds) 添加或者减去秒
- public LocalDateTime plusWeeks(long weeks) 添加或者减去周
分隔 - public LocalDateTime withYear(int year) 直接修改年
- public LocalDateTime withMonth(int month) 直接修改月
- public LocalDateTime withDayOfMonth(int dayofmonth) 直接修改日期(一个月中的第几天)
- public LocalDateTime withDayOfYear(int dayOfYear) 直接修改日期(一年中的第几天)
- public LocalDateTime withHour(int hour) 直接修改小时
- public LocalDateTime withMinute(int minute) 直接修改分钟
- public LocalDateTime withSecond(int second) 直接修改秒
LocalDateTime格式化和解析
- public String format (日期格式化器对象) // 把一个LocalDateTime格式化成为一个字符串
- public static LocalDateTime parse (准备解析的字符串, 日期格式化器对象) //把一个日期字符串解析成为一个LocalDateTime对象
- public static DateTimeFormatter ofPattern(String pattern) //使用指定的日期模板获取一个日期格式化器DateTimeFormatter对象
public class LocalDateTimeDemo {
public static void main(String[] args) {
// 将当前时间按照格式进行输出 LocalDateTime --> String
LocalDateTimeToString();
// 将字符串表示的时间转换为LocalDateTime对象 String --> LocalDateTime
StringToLocalDateTime();
}
private static void StringToLocalDateTime() {
String time = "2022-06-15 04:25:24"; // 1 目标时间
// 2 生成日期时间格式化器对象
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 3 直接调用LocalDateTime的静态方法parse对字符串进行解析,得到LocalDateTime对象
LocalDateTime dateTime = LocalDateTime.parse(time, dateTimeFormatter);
System.out.println(dateTime);
}
private static void LocalDateTimeToString() {
// 1 生成LocalDateTime对象
LocalDateTime now = LocalDateTime.now();
// 2 生成日期时间格式化器对象
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm-ss");
// 3 LocalDateTime对象调用format方法将自身进行格式化,得到格式化后的字符串
String format = now.format(dateTimeFormatter);
System.out.println(format);
}
}