Java8日期时间

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

你可能感兴趣的:(Java8日期时间)