Введение и использование LocalDateTime в Java

LocalDateTimeЭто один из классов даты и времени Java, используемый для представления даты и времени без информации о часовом поясе.

  • LocalDateTime не имеет часового пояса, поэтому его нельзя использовать для прямого получения временных меток.
  • LocalDateTime — это класс, основанный на значениях, поэтому экземпляры этого класса не создаются с помощью конструкторов.
    вставьте сюда описание изображения

Вот некоторые распространенные LocalDateTimeоперации и их использование:

1. Создайте LocalDateTimeобъект:

Получить текущее время:

		 LocalDateTime now = LocalDateTime.now(); // 获取当前日期和时间

Создайте объект LocalDateTime, указав год, месяц, день, час, минуту и ​​секунду.

   LocalDateTime dateTime = LocalDateTime.of(2023, 8, 8, 23, 59, 59); // 指定日期和时间

Объект даты LocalDateTime соответствует стандарту даты ISO-8601, то есть строковое представление времени имеет вид2023-08-08T10:15:30

LocalDateTime parsedDateTime = LocalDateTime.parse("2023-08-08T23:59:59"); // 解析字符串为LocalDateTime对象

2. Получите компоненты даты и времени LocalDateTime:

   int year = dateTime.getYear();
   Month month = dateTime.getMonth();
   int dayOfMonth = dateTime.getDayOfMonth();
   int hour = dateTime.getHour();
   int minute = dateTime.getMinute();
   int second = dateTime.getSecond();

3. Измените компоненты даты и времени:

   LocalDateTime modifiedDateTime = dateTime.withYear(2023); // 修改年份为2023
   LocalDateTime addedDateTime = dateTime.plusDays(1); // 增加一天
   LocalDateTime subtractedDateTime = dateTime.minusHours(2); // 减去两小时

4. Форматируем как строку:

   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
   String formattedDateTime = dateTime.format(formatter); // 格式化为字符串

5. Выполните расчеты даты и времени:

   LocalDateTime startDateTime = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
   LocalDateTime endDateTime = LocalDateTime.of(2022, 12, 31, 23, 59, 59);
   Duration duration = Duration.between(startDateTime, endDateTime); // 计算时间间隔
   long minutes = duration.toMinutes(); // 获取分钟数

LocalDateTimeКласс предоставляет множество методов для работы с датами и временем, включая создание, доступ и изменение компонентов, форматирование, расчет временных интервалов и многое другое. Это часто используемый класс для многих операций с датой и временем.

Следует отметить, что LocalDateTimeдата и время отображаются независимо от часового пояса. Если вам нужно учитывать информацию о часовом поясе, вы можете использовать классы ZonedDateTimeили с информацией о часовом поясе.OffsetDateTime

6. LocalDateTime преобразуется во время часового пояса.

LocalDateTime не имеет ничего общего с часовым поясом, поэтому, учитывая объект LocalDateTime, его можно преобразовать во время в указанном часовом поясе, пример следующий:

		LocalDateTime localdateTime = LocalDateTime.of(2023, 8, 8, 23, 59, 59); // 指定日期和时间
		ZonedDateTime utc8DateTime= ZonedDateTime.of(localdateTime, ZoneId.of("UTC+8"));

Полный пример кода:



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

отblog.csdn.net/oscar999/article/details/132113646