//Java 8中获取今天的日期
LocalDate today = LocalDate.now();
System.out.println("今天的日期:" + today);
//Java 8中获取年、月、日信息
int year = today.getYear();
System.out.println("year:" + year);
int month = today.getMonthValue();
System.out.println("month:" + month);
int day = today.getDayOfMonth();
System.out.println("day:" + day);
//Java 8中处理特定日期
LocalDate date = LocalDate.of(2018, 2, 6);
System.out.println("自定义日期:" + date);
//Java 8中判断两个日期是否相等
LocalDate date1 = LocalDate.now();
LocalDate date2 = LocalDate.of(2020, 2, 28);
if (date1.equals(date2)) {
System.out.println("时间相等");
} else {
System.out.println("时间不等");
}
//Java 8中检查像生日这种周期性事件
LocalDate date3 = LocalDate.now();
LocalDate date4 = LocalDate.of(2018, 2, 28);
MonthDay birthday = MonthDay.of(date4.getMonth(), date4.getDayOfMonth());
MonthDay currentMonthDay = MonthDay.from(date1);
if (currentMonthDay.equals(birthday)) {
System.out.println("是你的生日");
} else {
System.out.println("你的生日还没有到");
}
//Java 8中获取当前时间
LocalTime timeNow = LocalTime.now();
System.out.println("获取当前的时间,不含有日期:" + timeNow);
//Java 8如何计算一周后的日期
System.out.println("今天的日期为:" + today);
LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS);
System.out.println("一周后的日期为:" + nextWeek);
//Java 8计算一年前或一年后的日期
LocalDate previousYear = today.minus(1, ChronoUnit.YEARS);
System.out.println("一年前的日期 : " + previousYear);
LocalDate nextYear = today.plus(1, ChronoUnit.YEARS);
System.out.println("一年后的日期:" + nextYear);
//Java 8的Clock时钟类
Clock clock = Clock.systemUTC();
System.out.println("Clock : " + clock.millis());
Clock defaultClock = Clock.systemDefaultZone();
System.out.println("Clock : " + defaultClock.millis());
//如何用Java判断日期是早于还是晚于另一个日期
LocalDate tomorrow = LocalDate.of(2018, 2, 6);
if (tomorrow.isAfter(today)) {
System.out.println("之后的日期:" + tomorrow);
}
LocalDate yesterday = today.minus(1, ChronoUnit.DAYS);
if (yesterday.isBefore(today)) {
System.out.println("之前的日期:" + yesterday);
}
//Java 8中处理时区
ZoneId america = ZoneId.of("America/New_York");
LocalDateTime localtDateAndTime = LocalDateTime.now();
ZonedDateTime dateAndTimeInNewYork = ZonedDateTime.of(localtDateAndTime, america);
System.out.println("Current date and time in a particular timezone : " + dateAndTimeInNewYork);
//如何表示信用卡到期这类固定日期,答案就在YearMonth
YearMonth currentYearMonth = YearMonth.now();
System.out.printf("Days in month year %s: %d%n", currentYearMonth, currentYearMonth.lengthOfMonth());
YearMonth creditCardExpiry = YearMonth.of(2019, Month.FEBRUARY);
System.out.printf("Your credit card expires on %s %n", creditCardExpiry);
//如何在Java 8中检查闰年
if (today.isLeapYear()) {
System.out.println("This year is Leap year");
} else {
System.out.println("2018 is not a Leap year");
}
//计算两个日期之间的天数和月数
LocalDate java8Release = LocalDate.of(2020, 12, 14);
Period periodToNextJavaRelease = Period.between(today, java8Release);
System.out.println("Months left between today and Java 8 release : "
+ periodToNextJavaRelease.getMonths());
//在Java 8中获取当前的时间戳
Instant timestamp = Instant.now();
System.out.println("What is value of this instant " + timestamp.toEpochMilli());
//Java 8中如何使用预定义的格式化工具去解析或格式化日期
String dayAfterTommorrow = "20180205";
LocalDate formatted = LocalDate.parse(dayAfterTommorrow,
DateTimeFormatter.BASIC_ISO_DATE);
System.out.println(dayAfterTommorrow + " 格式化后的日期为: " + formatted);
//字符串互转日期类型
LocalDateTime date10 = LocalDateTime.now();
DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String str = date10.format(format1);//日期转字符串
System.out.println("日期转换为字符串:" + str);
DateTimeFormatter format2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDate date20 = LocalDate.parse(str, format2);//字符串转日期
System.out.println("日期类型:" + date20);