十:日期时间类
在Java中,LocalDateTime
,LocalDate
和LocalTime
是java.time
包中引入的日期时间类,用于处理日期和时间。这些类提供了丰富的方法,以便在应用程序中轻松处理日期和时间。
以下是每个类的主要用法和一些常见的方法:
由于内部的构造函数使用了private,外部无法通过new来实现,但是他暴露了其相关的方法
1. LocalDateTime
类:
LocalDateTime
表示日期和时间,不考虑时区。以下是一些主要方法和用法:
// 获取当前日期和时间
LocalDateTime currentDateTime = LocalDateTime.now();
// 构造特定的日期和时间
LocalDateTime specificDateTime = LocalDateTime.of(2022, 1, 26, 12, 30);
// 获取日期部分
LocalDate datePart = currentDateTime.toLocalDate();
// 获取时间部分
LocalTime timePart = currentDateTime.toLocalTime();
// 在现有的日期时间上增加一段时间
LocalDateTime futureDateTime = currentDateTime.plusDays(7);
// 在现有的日期时间上减少一段时间
LocalDateTime pastDateTime = currentDateTime.minusHours(3);
// 格式化日期时间
String formattedDateTime = currentDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
2. LocalDate
类:
LocalDate
表示日期,没有时间部分。以下是一些主要方法和用法:
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 构造特定的日期
LocalDate specificDate = LocalDate.of(2022, 1, 26);
// 获取年、月、日等
int year = currentDate.getYear();
int month = currentDate.getMonthValue();
int day = currentDate.getDayOfMonth();
// 在现有的日期上增加一段时间
LocalDate futureDate = currentDate.plusWeeks(2);
// 在现有的日期上减少一段时间
LocalDate pastDate = currentDate.minusMonths(1);
// 判断两个日期的先后顺序
boolean isAfter = currentDate.isAfter(specificDate);
3. LocalTime
类:
LocalTime
表示时间,没有日期部分。以下是一些主要方法和用法:
// 获取当前时间
LocalTime currentTime = LocalTime.now();
// 构造特定的时间
LocalTime specificTime = LocalTime.of(12, 30);
// 获取小时、分钟、秒等
int hour = currentTime.getHour();
int minute = currentTime.getMinute();
int second = currentTime.getSecond();
// 在现有的时间上增加一段时间
LocalTime futureTime = currentTime.plusHours(3);
// 在现有的时间上减少一段时间
LocalTime pastTime = currentTime.minusMinutes(15);
// 判断两个时间的先后顺序
boolean isBefore = specificTime.isBefore(currentTime);
这些类提供了许多其他方法,可以用于比较、格式化、解析日期时间字符串等操作。使用这些类,你可以更轻松地处理各种日期和时间场景,而无需担心时区问题。