Текущая дата и время в Java — программа с LocalDateTime
В современной Java для работы с датой и временем используется пакет java.time. Самый удобный класс для текущего момента — LocalDateTime, а форматирование выполняется через DateTimeFormatter.
Чтобы понять этот пример, нужно знать:
Строки в Java
Базовый ввод и вывод в Java
Пример 1: текущая дата и время в формате по умолчанию
import java.time.LocalDateTime;
public class CurrentDateTime {
public static void main(String[] args) {
LocalDateTime current = LocalDateTime.now();
System.out.println("Current Date and Time is: " + current);
}
}
Вывод:
Current Date and Time is: 2017-08-02T11:25:44.973
В этой программе текущая дата и время сохраняются в переменную current методом LocalDateTime.now(). Для формата по умолчанию объект LocalDateTime неявно преобразуется в строку через метод toString().
Пример 2: текущая дата и время по заданному шаблону
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class CurrentDateTime {
public static void main(String[] args) {
LocalDateTime current = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String formatted = current.format(formatter);
System.out.println("Current Date and Time is: " + formatted);
}
}
Вывод:
Current Date and Time is: 2017-08-02 11:29:57.401
В этой программе мы задали шаблон Year-Month-Day Hours:Minutes:Seconds.Milliseconds через объект DateTimeFormatter. Затем метод format() класса LocalDateTime применил этот форматтер и вернул отформатированную строку.
Пример 3: текущая дата и время через предопределённые константы
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class CurrentDateTime {
public static void main(String[] args) {
LocalDateTime current = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE;
String formatted = current.format(formatter);
System.out.println("Current Date is: " + formatted);
}
}
Вывод:
Current Date is: 20170802
В этой программе мы использовали предопределённую константу BASIC_ISO_DATE, которая выводит дату в ISO-формате без разделителей.
Пример 4: текущая дата и время в локализованном стиле
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
public class CurrentDateTime {
public static void main(String[] args) {
LocalDateTime current = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
String formatted = current.format(formatter);
System.out.println("Current Date is: " + formatted);
}
}
Вывод:
Current Date is: Aug 2, 2017 11:44:19 AM
В этой программе мы использовали локализованный стиль MEDIUM, который отображает дату и время в формате, привычном для текущей локали. Есть и другие стили: FULL, LONG и SHORT.