public static void main(String[] args) {
System.out.println("示例1:Java 8中获取今天的日期");
示例1:Java 8中获取今天的日期
LocalDate today = LocalDate.now();
System.out.println("今天的日期:"+today);
System.out.println("示例2:Java 8中获取年、月、日信息");
//示例2:Java 8中获取年、月、日信息
获取年月日信息();
//示例3:Java 8中处理特定日期
System.out.println("示例3:Java 8中处理特定日期");
LocalDate date = LocalDate.of(2018,2,6);
System.out.println("自定义日期:"+date);
//示例4:Java 8中判断两个日期是否相等
System.out.println("示例4:Java 8中判断两个日期是否相等");
LocalDate date1 = LocalDate.now();
LocalDate date2 = LocalDate.of(2018,2,5);
if(date1.equals(date2)){
System.out.println("时间相等");
}else{
System.out.println("时间不等");
}
//示例5:Java 8中检查像生日这种周期性事件
System.out.println("示例5:Java 8中检查像生日这种周期性事件");
Java8中检查像生日这种周期性事件();
//示例6:Java 8中获取当前时间
System.out.println("示例6:Java 8中获取当前时间");
LocalTime time = LocalTime.now();
System.out.println("获取当前的时间,不含有日期:"+time);
//示例7:Java 8中获取当前时间
System.out.println("示例7:Java 8中获取当前时间");
获取当前时间();
System.out.println("示例8:Java 8如何计算一周后的日期");
//示例8:Java 8如何计算一周后的日期
如何计算一周后的日期();
System.out.println("示例9:Java 8计算一年前或一年后的日期");
// 示例9:Java 8计算一年前或一年后的日期
计算一年前或一年后的日期();
System.out.println("示例10:Java 8的Clock时钟类");
//示例10:Java 8的Clock时钟类
// Returns the current time based on your system clock and set to UTC.
Clock clock = Clock.systemUTC();
System.out.println("Clock : " + clock.millis());
// Returns time based on system clock zone
Clock defaultClock = Clock.systemDefaultZone();
System.out.println("Clock : " + defaultClock.millis());
System.out.println("示例11:如何用Java判断日期是早于还是晚于另一个日期");
//示例11:如何用Java判断日期是早于还是晚于另一个日期
判断日期早于后晚于某个日期();
System.out.println("示例12:Java 8中处理时区");
//示例12:Java 8中处理时区
// Date and time with timezone in Java 8 Java 8不仅分离了日期和时间,也把时区分离出来了。
// 现在有一系列单独的类如ZoneId来处理特定时区,ZoneDateTime类来表示某时区下的时间。
// 这在Java 8以前都是 GregorianCalendar类来做的。
// 下面这个例子展示了如何把本时区的时间转换成另一个时区的时间。
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);
System.out.println("示例13:如何表示信用卡到期这类固定日期,答案就在YearMonth");
//示例13:如何表示信用卡到期这类固定日期,答案就在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);
System.out.println("示例14:如何在Java 8中检查闰年");
//示例14:如何在Java 8中检查闰年
java8查询闰年();
System.out.println("示例15:计算两个日期之间的天数和月数");
//示例15:计算两个日期之间的天数和月数
计算两个日期之间的天数和月数();
System.out.println("示例16:在Java 8中获取当前的时间戳");
//示例16:在Java 8中获取当前的时间戳
Instant timestamp = Instant.now();
System.out.println("What is value of this instant " + timestamp.toEpochMilli());
System.out.println("示例17:Java 8中如何使用预定义的格式化工具去解析或格式化日期");
//示例17:Java 8中如何使用预定义的格式化工具去解析或格式化日期
String dayAfterTommorrow = "20180205";
LocalDate formatted = LocalDate.parse(dayAfterTommorrow,
DateTimeFormatter.BASIC_ISO_DATE);
System.out.println(dayAfterTommorrow+" 格式化后的日期为: "+formatted);
System.out.println("示例18:字符串互转日期类型");
//示例18:字符串互转日期类型
字符串互转日期类型();
}
private static void 字符串互转日期类型() {
LocalDateTime date = LocalDateTime.now();
DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
//日期转字符串
String str = date.format(format1);
System.out.println("日期转换为字符串:"+str);
DateTimeFormatter format2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
//字符串转日期
LocalDate date2 = LocalDate.parse(str,format2);
System.out.println("日期类型:"+date2);
}
private static void 计算两个日期之间的天数和月数() {
LocalDate today = LocalDate.now();
LocalDate java8Release = LocalDate.of(2018, 12, 14);
Period periodToNextJavaRelease = Period.between(today, java8Release);
System.out.println("Months left between today and Java 8 release : "
+ periodToNextJavaRelease.getMonths() );
}
private static void java8查询闰年() {
LocalDate today = LocalDate.now();
if(today.isLeapYear()){
System.out.println("This year is Leap year");
}else {
System.out.println("2018 is not a Leap year");
}
}
private static void 判断日期早于后晚于某个日期() {
LocalDate today = LocalDate.now();
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);
}
}
private static void 计算一年前或一年后的日期() {
LocalDate today = LocalDate.now();
LocalDate previousYear = today.minus(1, ChronoUnit.YEARS);
System.out.println("一年前的日期 : " + previousYear);
LocalDate nextYear = today.plus(1, ChronoUnit.YEARS);
System.out.println("一年后的日期:"+nextYear);
}
private static void 如何计算一周后的日期() {
LocalDate today = LocalDate.now();
System.out.println("今天的日期为:"+today);
LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS);
System.out.println("一周后的日期为:"+nextWeek);
}
private static void 获取当前时间() {
LocalTime time = LocalTime.now();
LocalTime newTime = time.plusHours(3);
System.out.println("三个小时后的时间为:"+newTime);
}
private static void Java8中检查像生日这种周期性事件() {
LocalDate date1 = LocalDate.now();
LocalDate date2 = LocalDate.of(2018,2,6);
MonthDay birthday = MonthDay.of(date2.getMonth(),date2.getDayOfMonth());
MonthDay currentMonthDay = MonthDay.from(date1);
if(currentMonthDay.equals(birthday)){
System.out.println("是你的生日");
}else{
System.out.println("你的生日还没有到");
}
}
private static void 获取年月日信息() {
//示例2:Java 8中获取年、月、日信息
System.out.println("Java 8中获取年、月、日信息");
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println("year:"+year);
System.out.println("month:"+month);
System.out.println("day:"+day);
}
参考原文:https://mp.weixin.qq.com/s/X-Jotzc_nbKaWiD321yRXA