LocalDateTime-java8新特性

[java8新特性]

LocalDate:获取日期
LocalTime:获取时间
LocalDateTime:获取日期+时间

学会LocalDateTime,其余两个都类似,基本都学会。

LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime); // 获取当前时间:2019-01-24T13:16:07.126
System.out.println(localDateTime.getYear());      // 年:2019
System.out.println(localDateTime.getMonthValue());// 月:1
System.out.println(localDateTime.getMonth());     // 月:JANUARY
System.out.println(localDateTime.getDayOfMonth());// 日:24
System.out.println(localDateTime.getHour());      // 小时:13
System.out.println(localDateTime.getMinute());    // 分钟:24
System.out.println(localDateTime.getSecond());    // 秒:5
System.out.println(localDateTime.getDayOfWeek()); // 星期:THURSDAY
System.out.println(localDateTime.getNano());      // 纳秒:216000000
System.out.println(localDateTime.getDayOfYear()); // 一年的第几天:24
System.out.println(localDateTime.getLong(ChronoField.YEAR)); // 获取指定字段值:2019

// 2019-01-24T13:24:05
System.out.println(LocalDateTime.of(2019, 01, 24, 13, 24, 5));
// 2019-01-24T13:24:05
System.out.println(LocalDateTime.of(2019, Month.JANUARY, 24, 13, 24, 5));
// 2019-01-24T13:55:04.479
System.out.println(LocalDateTime.of(LocalDate.now(), LocalTime.now()));
// 2019-01-24T13:24
System.out.println(LocalDateTime.of(2019, 01, 24, 13, 24));
// 2019-01-24T13:24
System.out.println(LocalDateTime.of(2019, Month.JANUARY, 24, 13, 24));
// 2019-01-24T13:24:05.216
System.out.println(LocalDateTime.of(2019, 01, 24, 13, 24, 5,216000000));
// 2019-01-24T13:24:05.216
System.out.println(LocalDateTime.of(2019, Month.JANUARY, 24, 13, 24, 5,216000000));

// 加时间
System.out.println(localDateTime.plusYears(02));    // 年:加2年 2021-01-24T13:55:04.477
System.out.println(localDateTime.plusMonths(02));   // 月:加2月 2019-03-24T13:55:04.477
System.out.println(localDateTime.plusDays(02));     // 天:加2天 2019-01-26T13:55:04.477
System.out.println(localDateTime.plusHours(02));    // 时:加2时 2019-01-24T15:55:04.477
System.out.println(localDateTime.plusMinutes(02));  // 分:加2分 2019-01-24T13:57:04.477
System.out.println(localDateTime.plusSeconds(02));  // 秒:加2秒 2019-01-24T13:55:06.477
System.out.println(localDateTime.plusWeeks(02));    // 周:加2周 2019-02-07T13:55:04.477
System.out.println(localDateTime.plusNanos(02));    // 纳秒:加2纳秒 2019-01-24T13:55:04.477000002

// 减时间
System.out.println(localDateTime.minusYears(02));   // 年:减2年 2017-01-24T14:07:37.032
System.out.println(localDateTime.minusMonths(02));  // 月:减2月 2018-11-24T14:07:37.032
System.out.println(localDateTime.minusDays(02));    // 天: 减2天 2019-01-22T14:07:37.032
System.out.println(localDateTime.minusHours(02));   // 时:减2时 2019-01-24T12:07:37.032
System.out.println(localDateTime.minusMinutes(02)); // 分:减2分 2019-01-24T14:05:37.032
System.out.println(localDateTime.minusSeconds(02)); // 秒:减2秒 2019-01-24T14:07:35.032
System.out.println(localDateTime.minusWeeks(02));   // 周:减2周 2019-01-10T14:07:37.032
System.out.println(localDateTime.minusNanos(02));   // 纳秒:减2纳秒 2019-01-24T14:07:37.031999998

Instant instant = ZonedDateTime.now().toInstant();
LocalDateTime from = LocalDateTime.from(instant.atZone(ZoneId.systemDefault()));
System.out.println(from);   // 2019-01-26T16:10:32.442

// LocalDateTime转localDate和localTime
LocalDate localDate = LocalDateTime.now().toLocalDate();
System.out.println(localDate);      // 2019-01-26
LocalTime localTime = LocalDateTime.now().toLocalTime();
System.out.println(localTime);      // 16:00:52.001

// LocalDate转LocalDateTime
LocalDateTime localDateTime = LocalDate.now().atTime(1, 1, 1);
System.out.println(localDateTime);  // 2019-01-26T01:01:01

// LocalTime转LocalDateTime
LocalDateTime localDateTime1 = LocalTime.now().atDate(LocalDate.of(2019, 1, 1));
System.out.println(localDateTime1); // 2019-01-01T16:00:52.001

其它特性或API,可查阅JDK1.8API或参考本人其它文章,另本人有中文版JDK1.8API可以参考我的分享文章

猜你喜欢

转载自blog.csdn.net/han12398766/article/details/86633577