Мгновенно 、 LocalTime 、 LocalDate 、 LocalDateTime 介绍


Предисловие

Недавно добавленный класс времени в java1.8


1. Мгновенно (представляет собой отметку времени)

Он может точно отбрасывать наносекунды. При использовании наносекунд для представления времени недостаточно использовать тип Long. Ему нужно немного больше места. Его внутреннее пространство состоит из двух полей Long. Первая часть представляет время с 1 января, 1970. Текущее количество секунд, вторая часть представляет количество наносекунд.
Instant instant = Instant.now();//获取当前时间
System.out.println(instant);

1.1 Другие методы Instant

//计算5天前的时间
  Instant instant1 =  instant.minus(5, ChronoUnit.DAYS);
  System.out.println(instant1);

  //计算5天前的第二种方法
   Instant instant2 =  instant.minus(5, ChronoUnit.DAYS);
   System.out.println(instant2);

1.1.1 Метод сравнения

Он предоставляет два метода для сравнения isAfter () и isBefore ()

1.1.2 Получите количество секунд

//得到秒数
        Instant now = Instant.now();
        System.out.println(now.getEpochSecond());//秒
        System.out.println(now.toEpochMilli());//毫秒

1.2 Конверсия

Поскольку Instant - это временная метка, вы можете добавить часовой пояс для создания ZonedDateTime, а затем вы можете получить LocalDateTime соответствующего часового пояса.
Ниже приведена диаграмма преобразования.
Вставьте описание изображения сюда

Два, LocalTime (время без часового пояса)

1. Основной метод

  //获取当前时间包含毫秒数---打印出->15:46:22.300
      LocalTime localTime = LocalTime.now();

     //构建时间---打印出->12:20:13
      LocalTime localTime1 = LocalTime.of(12,20,13);

      //获取当前时间不包含毫秒数---打印出来->15:49:37
      LocalTime localTime2 = localTime.withNano(0);

      //字符串可以转为时间---打印出来->12:15:12
      LocalTime localTime3 = LocalTime.parse("12:15:12");

    //判断localTime是否比localTime2晚
      System.out.println(localTime.isAfter(localTime2));
        
     //修改毫秒值
      System.out.println(localTime.withNano(22345));

Три, LocalDate (дата без часового пояса)

## 3.1 Общие методы
 LocalDate localDate = LocalDate.now();
        //获得2020年的第23天
        localDate = LocalDate.ofYearDay(2020,23);
        
        //2013年8月10日
        localDate = LocalDate.of(2013, Month.AUGUST,10);

Четыре, LocalDateTime

Это комбинация LocalDate и LocalTime, представляющая дату и время без часового пояса.

подводить итоги

Например: Об этом я и расскажу сегодня.Эта статья лишь кратко знакомит с использованием классов времени Java.

рекомендация

отblog.csdn.net/qq_44688861/article/details/113863093