一. 概述
二. API说明
| 方法 |
说明 |
| format() |
日期格式化 |
| getYear |
获取年 |
| getMonthValue() |
获取月 |
| getDayOfYear() |
获取一年中的第几天 |
| getDayOfWeek().getValue() |
获取星期几 |
| getDayOfMonth() |
获取一个月中的第几天 |
| getHour() |
获取小时 |
| getMinute() |
获取分钟 |
| getSecond() |
获取秒 |
| compareTo() |
日期比较, 小于返回负值, 大于放回正值 |
| isAfter() |
是否在指定日期之后 |
| isBefore() |
是否在指定日期之前 |
| withHour() |
修改时间的小时数为目标值 |
| withDayOfMonth() |
修改时间的月中天为目标值 |
| withYear() |
修改时间的年份为目标值 |
| withMonth() |
修改时间的月份为目标值 |
| withDayOfYear() |
修改时间的年中天为目标值 |
| withHour() |
修改时间的小时为目标值 |
| withMinute() |
修改时间的分钟为目标值 |
| withMinute() |
修改时间的分钟为目标值 |
| withSecond() |
修改时间的秒为目标值 |
| minusDays() |
当前时间减去指定天数 |
| minusHours() |
当前时间减去指定小时数 |
| minusYears() |
当前时间减去指定年数 |
| minusMonths() |
当前时间减去指定月数 |
| minusMinutes() |
当前时间减去指定分钟数 |
| minusSeconds() |
当前时间减去指定秒数 |
| plusYears() |
当前时间增加指定年数 |
| plusMonths() |
当前时间增加指定月数 |
| plusDays() |
当前时间增加指定天数 |
| plusHours() |
当前时间增加指定小时数 |
| plusMinutes() |
当前时间增加指定分钟 |
| plusSeconds() |
当前时间增加指定秒数 |
三. 使用示例
public static void main(String[] args) {
// 日期格式类
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 字符串转日期
LocalDateTime localDateTime = LocalDateTime.parse("2020-02-23 11:11:11",dateTimeFormatter);
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 日期转字符串
String dateFormatter = localDateTime.format(dateTimeFormatter);
//获取秒数
Long second1 = localDateTime.toEpochSecond(ZoneOffset.of("+8"));
//获取毫秒数
Long milliSecond = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
// 时区
ZoneId zoneId = ZoneId.systemDefault();
// Date 转 LocalDateTime
localDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
// LocalDateTime 转 Date
Date date = Date.from(localDateTime.atZone(zoneId).toInstant());
// 获取年
int year = localDateTime.getYear();
// 获取月
int month = localDateTime.getMonthValue();
// 获取一年中的第几天
int dayOfYear = localDateTime.getDayOfYear();
// 获取星期几
int dayOfWeek = localDateTime.getDayOfWeek().getValue();
// 获取月份的第几天
int dayOfMonth = localDateTime.getDayOfMonth();
// 获取小时
int hour = localDateTime.getHour();
// 获取分
int minute = localDateTime.getMinute();
// 获取秒
int second = localDateTime.getSecond();
// 日期比较, 小于返回负值, 大于放回正值
int compare = localDateTime.compareTo(now);
// 是否在日期之后
boolean after = localDateTime.isAfter(now);
// 是否在指定日期之前
boolean before = localDateTime.isBefore(now);
// 修改时间的小时数为目标值
LocalDateTime localDateTime1 = localDateTime.withHour(18);
// 修改时间的月中天为目标值
LocalDateTime localDateTime2 = localDateTime.withDayOfMonth(13);
// 修改时间的年份为目标值
LocalDateTime localDateTime3 = localDateTime.withYear(2019);
// 修改时间的月份为目标值
LocalDateTime localDateTime4 = localDateTime.withMonth(2);
// 修改时间的年中天为目标值
LocalDateTime localDateTime5 = localDateTime.withDayOfYear(35);
// 修改时间的小时为目标值
LocalDateTime localDateTime6 = localDateTime.withHour(12);
// 修改时间的分钟为目标值
LocalDateTime localDateTime7 = localDateTime.withMinute(5);
// 修改时间的秒为目标值
LocalDateTime localDateTime8 = localDateTime.withSecond(24);
// 当前时间减去指定天数
LocalDateTime localDateTime9 = localDateTime.minusDays(12);
// 当前时间减去指定小时数
LocalDateTime localDateTime10 = localDateTime.minusHours(2);
// 当前时间减去指定年数
LocalDateTime localDateTime11 = localDateTime.minusYears(1);
// 当前时间减去指定月数
LocalDateTime localDateTime12 = localDateTime.minusMonths(4);
// 当前时间减去指定分钟数
LocalDateTime localDateTime13 = localDateTime.minusMinutes(5);
// 当前时间减去指定秒数
LocalDateTime localDateTime14 = localDateTime.minusSeconds(24);
// 当前时间增加指定年数
LocalDateTime localDateTime15 = localDateTime.plusYears(1);
// 当前时间增加指定月数
LocalDateTime localDateTime16 = localDateTime.plusMonths(3);
// 当前时间增加指定天数
LocalDateTime localDateTime17 = localDateTime.plusDays(4);
// 当前时间增加指定小时数
LocalDateTime localDateTime18 = localDateTime.plusHours(34);
// 当前时间增加指定分钟
LocalDateTime localDateTime19 = localDateTime.plusMinutes(3);
// 当前时间增加指定秒数
LocalDateTime localDateTime20 = localDateTime.plusSeconds(23);
}