Получение текущей даты

Java:
Получение текущей даты

Как это сделать:

Получаем сегодняшнюю дату

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Сегодняшняя дата: " + today);
    }
}

Пример вывода:

Сегодняшняя дата: 2023-04-01

Время с дополнительными деталями

import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("Текущие дата и время: " + now);
    }
}

Пример вывода:

Текущие дата и время: 2023-04-01T12:45:30.123

Подробнее:

До Java 8 за работу с датой и временем отвечали java.util.Date и java.util.Calendar. Но они были громоздкими и неинтуитивными. В Java 8 был представлен java.time, более надежный и понятный API. java.time.LocalDate получает дату без времени, в то время как java.time.LocalDateTime получает и дату, и время, без часового пояса. Если вам нужен часовой пояс, есть java.time.ZonedDateTime. А для получения только времени существует java.time.LocalTime.

Что касается альтернатив, до Java 8 существовала библиотека Joda-Time, и некоторые устаревшие проекты могут все еще использовать ее. Но с появлением пакета java.time в Java 8, он считается стандартом, и по уважительным причинам. Это всеобъемлюще и соответствует календарной системе ISO-8601.

С точки зрения реализации, методы now() в классах java.time получают текущую дату/время из системных часов, которые являются компьютерным представлением текущего времени, связанным с реальным миром через системные настройки и синхронизацию времени через интернет.

Смотрите также: