java 8 date time 简单样例

2019-09-24 00:00:00 java 简单 样例

参考

  • Java 8 Time Api 使用指南-珍藏限量版

部分样例

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)));
    }
}
    原文作者:LoveSnowBaby
    原文地址: https://www.cnblogs.com/loveSnowBaby/p/11573500.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章