LocalDate、LocalTime、LocalDateTime是JDK1.8新出的类

优势:相对于Date、Calendar更加安全而且api更加丰富,对日期时间的操作更加容易,非常值得一试。

根据类 命名 我们就可以轻松知道

  • LocalDate是 处理 日期类
  • LocalTime是 处理 时间类
  • LocalDateTime是 处理 日期时间类

JDK1.8 获取时间戳

    @Test
    public void 获取时间戳(){
        LocalDateTime now = LocalDateTime.now();
        long timeStamp = now.toEpochSecond(ZoneOffset.UTC);

        timeStamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
        System.out.println(timeStamp);
    }

LocalDate

结合Hutool可见于:https://www.zanglikun.com/16829.html

        /**
         *1. LocalDate常用方法
         */
        LocalDate today = LocalDate.now();//获取当前日期
        System.out.println(String.format("[当前日期]%d-%d-%d", today.getYear(), today.getMonthValue(), today.getDayOfMonth()));
        System.out.println("[今天所处一月的周数]" + today.get(ChronoField.ALIGNED_WEEK_OF_MONTH));
        System.out.println("[今天所处一年的周数]" + today.get(ChronoField.ALIGNED_WEEK_OF_YEAR));
        System.out.println("[今天所处一年的天数]" + today.getDayOfYear());

        LocalDate past = LocalDate.parse("2021-02-22"); //获取 2021-02-22

        System.out.println("[2021-02-22是否是闰年]" + past.isLeapYear());
        System.out.println("[2021-02-22星期几]" + past.getDayOfWeek());
        System.out.println("[2021-02-22所在月的第一天]" + past.with(TemporalAdjusters.firstDayOfMonth()));
        System.out.println("[2021-02-22所在月的第二天]" + past.withDayOfMonth(2));
        System.out.println("[2021-02-22所在月的最后一天]" + past.with(TemporalAdjusters.lastDayOfMonth()));
        System.out.println("[2021-02-22之后18年]" + past.plusYears(18));
        System.out.println("[2021-02-22之前18个月]" + past.plusMonths(-18));
        System.out.println("[2021-02-22所在月的第一个周一]" + past.with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)));




2021-02-22
[当前日期]2021-2-22
[今天所处一月的周数]4
[今天所处一年的周数]8
[今天所处一年的天数]53
[2021-02-22是否是闰年]false
[2021-02-22星期几]MONDAY
[2021-02-22所在月的第一天]2021-02-01
[2021-02-22所在月的第二天]2021-02-02
[2021-02-22所在月的最后一天]2021-02-28
[2021-02-22之后18年]2039-02-22
[2021-02-22之前18个月]2019-08-22
[2021-02-22所在月的第一个周一]2021-02-01
[LocalDateTime-->String]2021/02/22 17:49:00-845
[String-->LocalDateTime-->Date]Mon Feb 22 17:49:00 CST 2021

一般处理 Local 时间的时候,通过使用:DateFormat

    @Test
    void Xxx() {
        // 当前时间解析
        LocalDateTime now = LocalDateTime.now();
        String A = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); // 年-月-日
        System.out.println(A);
        System.out.println(now.toLocalTime()); // 时-分-秒
        //LocalDateTime 可以获取任何一个时间单位的值,也可以对时间进行加减
        
        // 指定时间解析
        LocalDateTime localDateTime = LocalDateTime.parse((CharSequence) "2020-01-02 03:04:05", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println(localDateTime.toLocalTime()); // 03:04:05
        System.out.println(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); //2020-01-02
    }

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤