Java JDK1.8时间处理

2022-08-01 08:59:49 浏览数 (1)

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

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

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

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

JDK1.8 获取时间戳

代码语言:javascript复制
    @Test
    public void 获取时间戳(){
        LocalDateTime now = LocalDateTime.now();
        long timeStamp = now.toEpochSecond(ZoneOffset.UTC);

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

LocalDate

代码语言:javascript复制
        /**
         *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)));
代码语言:javascript复制
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

代码语言:javascript复制
    @Test
    void Xxx() {
        LocalDateTime localDateTime = LocalDateTime.parse((CharSequence) "2020-11-10 10:10:10", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println(localDateTime.toLocalTime());
    }

特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!

0 人点赞