LocalDate
// 当前日期:2018-04-21
System.out.println("当前日期:" + LocalDate.now());
// 指定时区的当前日期:2018-04-21
System.out.println("指定时区的当前日期:" + LocalDate.now(ZoneId.of("Asia/Shanghai")));
// 2018年1月第一天:2018-01-01
System.out.println("2018年1月第一天:" + LocalDate.of(2018, Month.JANUARY, 1));
// 2018年第100天的日期:2018-04-10
System.out.println("2018年第100天的日期:" + LocalDate.ofYearDay(2018, 100));
LocalTime
// 当前时间:09:57:10.239
System.out.println("当前时间:" + LocalTime.now());
// 指定时区的当前时间:09:57:10.240
System.out.println("指定时区的当前时间:" + LocalTime.now(ZoneId.of("Asia/Shanghai")));
// 指定时间:09:40:50.000000040
System.out.println("指定时间:" + LocalTime.of(9, 40, 50, 40));
LocalDateTime
// 当前日期时间:2018-04-21T09:48:19.362
System.out.println("当前日期时间:" + LocalDateTime.now());
// 构造方法 当前日期时间:2018-04-21T09:49:46.425
System.out.println("当前日期时间:" + LocalDateTime.of(LocalDate.now(), LocalTime.now()));
// 指定时区的当前日期时间:2018-04-21T09:55:23.300
System.out.println("指定时区的当前日期时间:" + LocalDateTime.now(ZoneId.of("Asia/Shanghai")));
// 指定日期时间:2018-04-21T09:50:50.000000050
System.out.println("指定日期时间:" + LocalDateTime.of(2018, Month.APRIL, 21, 9, 50, 50, 50));
Instant
// 当前时间戳:2018-04-21T02:16:43.848Z
System.out.println("当前时间戳:" + Instant.now());
// 指定时间戳:2018-04-21T02:18:26.436Z
System.out.println("指定时间戳:" + Instant.ofEpochMilli(Instant.now().toEpochMilli()));
DateAPI
// 当前年份:2018 否是闰年:false
System.out.println("当前年份:" + LocalDate.now().getYear() + " 否是闰年:" + LocalDate.now().isLeapYear());
// 当前日期是否早于2018-04-22:true (当前日期2018-04-21)
System.out.println("当前日期是否早于2018-04-22:" + LocalDate.now().isBefore(LocalDate.of(2018, 4, 22)));
// 当前日期创建日期时间 : 当前日期时间:2018-04-21T10:31:53.994
System.out.println("当前日期时间:" + LocalDate.now().atTime(LocalTime.now()));
// 10天后的日期:2018-05-01 (当前日期2018-04-21)
System.out.println("10天后的日期:" + LocalDate.now().plusDays(10));
// 3周后的日期:2018-05-12 (当前日期2018-04-21)
System.out.println("3周后的日期:" + LocalDate.now().plusWeeks(3));
// 1个月后的日期:2018-05-21 (当前日期2018-04-21)
System.out.println("1个月后的日期:" + LocalDate.now().plusMonths(1));
// 10天之前的日期:2018-04-11 当前日期2018-04-21)
System.out.println("10天之前的日期:" + LocalDate.now().minusDays(10));
// 3周之前的日期:2018-03-31 (当前日期2018-04-21)
System.out.println("3周之前的日期:" + LocalDate.now().minusWeeks(3));
// 1个月之前的日期:2018-03-21
System.out.println("1个月之前的日期:" + LocalDate.now().minusMonths(1));
// 当前日期所在月的第一天:2018-04-01 (当前日期2018-04-21)
System.out.println("当前日期所在月的第一天:" + LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()));
// 当前日期所在年的最后一天:2018-12-31 (当前日期2018-04-21)
System.out.println("当前日期所在年的最后一天:" + LocalDate.now().with(TemporalAdjusters.lastDayOfYear()));
DateParseFormat
// 默认日期格式:2018-04-21
System.out.println("默认日期格式:" + LocalDate.now());
// 指定日期格式:2018/04/21
System.out.println("指定日期格式:" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));
// 默认日期时间格式:2018-04-21T11:24:05.080
System.out.println("默认日期时间格式:" + LocalDateTime.now());
// 指定日期时间格式:2018/04/21 11:25:32
System.out.println("指定日期时间格式:" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd " +
"HH:mm:ss")));
// 默认Instant格式:2018-04-21T03:38:58.217Z
System.out.println("默认Instant格式:" + Instant.now());
旧的日期支持
// Date转Instant:2018-04-21T03:41:20.974Z
System.out.println("Date转Instant:" + new Date().toInstant());
// Calendar转Instant:2018-04-21T03:48:23.369Z
System.out.println("Calendar转Instant:" + Calendar.getInstance().toInstant());
// Instant转DateTime:2018-04-21T11:44:21.841
System.out.println("Instant转DateTime:" + LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.of(ZoneId
.SHORT_IDS.get("CTT"))));
参考
Java8日期时间
Java8-LocalDate,LocalDateTime,Instant