java8 LocalDate、LocalDateTime

获取时间

LocalDate localDate = LocalDate.now();
LocalDateTimelocalDateTime = LocalDateTime.now();
LocalDate today = LocalDate.of(2023, 6, 12);
方法名 描述
dayofWeekInMonth 创建一个新的日期,值为同一个月中每一周的第几天
firstDayOfMonth 创建一个新的日期,值为本月的第一天
firstDayOfNextMonth 创建一个新的日期,值为下月的第一天
firstDayOfNextYear 创建一个新的日期,值为明年的第一天
firstDayOfYear 创建一个新的日期,值为本年的第一天
firstInMonth 创建一个新的日期,值为在本月中,第一个符合星期几的值
lastDayOfMonth 创建一个新的日期,值为本月的最后一天
lastDayOfNextMonth 创建一个新的日期,值为下个月的最后一天
lastDayOfNextYear 创建一个新的日期,值为明年的最后一天
lastDayOfYear 创建一个新的日期,值为本年的最后一天
lastInMonth 创建一个新的日期,值为本月中,最后一个符合星期几的值
next/privious 创建一个新的日期,并将其设定位第一个符合调整后符合星期几的值

获取年月日星期

// 获取年
int year = localDate.getYear();
int year = localDate.get(ChronoField.YEAR);
// 获取月
int month = localDate.get(ChronoField.MONTH_OF_YEAR);
// 获取日
int day = localDate.getDayOfMonth();
int day1 = localDate.get(ChronoField.DAY_OF_MONTH);
// 获取星期几
DayOfWeek dayOfWeek = localDate.getDayOfWeek();
int dayOfWeek1 = localDate.get(ChronoField.DAY_OF_WEEK);
// 是否是闰年
boolean leapYear = today.isLeapYear();
// 一年多少天
int lengthOfYear= today.lengthOfYear();

操作

plus/minus/with 前缀方法,可以加/减/修改 年/月/天/时/分/秒

//增加一年
localDate = localDate.plusYears(1);
localDate = localDate.plus(1, ChronoUnit.YEARS);
/减少一个月
localDate = localDate.minusMonths(1);
localDate = localDate.minus(1, ChronoUnit.MONTHS);
//减少一日
localDate = localDate.minusDays(1);
localDate = localDate.minus(1, ChronoUnit.DAYS);
//修改年为 2020
localDate = localDate.withYear(2020);
localDate = localDate.with(ChronoField.YEAR, 2020);

格式化

// LocalDtaTime 转 String
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
String str1 = localDateTime.format(dateTimeFormatter);

// String 转 LocalDtaTime
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDate localDate = LocalDate.parse("2019-12-07 07:43:53", dateTimeFormatter);

// Date 转 LocalDataTime,两种方式
LocalDateTime localDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());

// LocalDateTime 转 Date
Date date = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant());
posted @ 2023-06-12 11:29  CyrusHuang  阅读(27)  评论(0编辑  收藏  举报