java 8 date time

参考

部分样例

import java.time.temporal.TemporalAdjusters;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import static java.lang.System.out;

/**
 * 描述:java 8 处理时间样例
 */
public class LocalDateExample {

    private static String PATTERN_YYYYMMDD = "yyyyMMdd";

    public static void main(String[] args){

        // 这里模拟的是日期参数为 yyyyMMdd形式,如果是yyyy-MM-dd的格式则无需进行任何处理

        // 获取指定日期上一年的最后一天
        LocalDate localdate1 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS).with(TemporalAdjusters.lastDayOfYear());

        out.println("20190829上一年的最后一天" + localdate1);
        out.println("20190829上一年的最后一天" + localdate1.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

        // 获取指定年的年初
        LocalDate localdate2 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).with(TemporalAdjusters.firstDayOfYear());

        out.println("20190829的年初" + localdate2);
        out.println("20190829的年初" + localdate2.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

        // 获取指定日期前一年的年初
        LocalDate localdate3 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS).with(TemporalAdjusters.firstDayOfYear());

        out.println("20190829前一年的年初" + localdate3);
        out.println("20190829前一年的年初" + localdate3.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

        // 去年的今天
        LocalDate localdate4 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS);

        out.println("20190829去年的今天" + localdate4);
        out.println("20190829去年的今天" + localdate4.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));
    }
}

猜你喜欢

转载自www.cnblogs.com/loveSnowBaby/p/11573500.html