超实用的18个Java8日期处理的实践!建议收藏!( 三 )


package com.shxt.demo02;import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class Demo11 {    public static void main(String[] args) {        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);        }    }}示例12:Java 8中处理时区Java 8不仅分离了日期和时间,也把时区分离出来了 。现在有一系列单独的类如ZoneId来处理特定时区,ZoneDateTime类来表示某时区下的时间 。这在Java 8以前都是 GregorianCalendar类来做的 。下面这个例子展示了如何把本时区的时间转换成另一个时区的时间 。
package com.shxt.demo02;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZonedDateTime;public class Demo12 {    public static void main(String[] args) {        // Date and time with timezone in 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);    }}示例13:如何表示信用卡到期这类固定日期,答案就在YearMonth与 MonthDay检查重复事件的例子相似,YearMonth是另一个组合类,用于表示信用卡到期日、FD到期日、期货期权到期日等 。还可以用这个类得到 当月共有多少天,YearMonth实例的lengthOfMonth()方法可以返回当月的天数,在判断2月有28天还是29天时非常有用 。
package com.shxt.demo02;import java.time.*;public class Demo13 {    public static void main(String[] args) {        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);    }}示例14:如何在Java 8中检查闰年package com.shxt.demo02;import java.time.LocalDate;public class Demo14 {    public static void main(String[] args) {        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");        }    }}示例15:计算两个日期之间的天数和月数有一个常见日期操作是计算两个日期之间的天数、周数或月数 。在Java 8中可以用java.time.Period类来做计算 。
下面这个例子中,我们计算了当天和将来某一天之间的月数 。
package com.shxt.demo02;import java.time.LocalDate;import java.time.Period;public class Demo15 {    public static void main(String[] args) {        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() );    }}


推荐阅读