DateTimeFormatter:
Он введен в Java 8 для форматирования значения даты. Используется для форматирования ZoneDateTime, LocalDateTime, LocalDate, а также Местное время. Объект DateTimeFormatter может быть создан с использованием встроенного шаблона, пользовательского шаблона и локализованного стиля. Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.
SimpleDateFormat:
Он используется для форматирования и анализа значений даты с локальной поддержкой. Преобразование даты в строку и преобразование строки в дату можно легко выполнить с помощью этого класса. Он создается за счет расширения Формат даты класс. Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.
Пример-1: Форматирование даты с использованием DateTimeFormatter и встроенного шаблона
Формат даты и времени DateTimeFormatter фиксирован для встроенный шаблон. Значение даты и времени будет напечатано на основе встроенный шаблон, используемый в коде. ISO_DATE шаблон используется в следующем коде, который печатает дату в формате, гггг-мм-дд. Текущая дата считывается здесь с помощью метода с именем сейчас() принадлежащий LocalDate класс, который возвращает форматированное значение даты в строке.
импорт Java.время.формат.DateTimeFormatter;импорт Java.время.LocalDate;
public class date2
public static void main (String [] args)
// Создаем объект DateTimeFormatter
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Создаем строковый объект для чтения локальной даты
Строка DateObject = format_object.формат (LocalDate.сейчас());
// Распечатываем текущую дату
Система.вне.println («Сегодня» + DateObject);
Выход:
На следующем изображении показан результат выполнения вышеуказанного кода. Вывод будет зависеть от текущей системной даты.
Пример-2: Форматирование даты с использованием DateTimeFormatter и настраиваемого шаблона
Вы можете распечатать значение даты в более удобочитаемом формате, используя настраиваемый шаблон DateTimeFormatter. Шаблон, используемый в следующем примере, напечатает текущий день недели со значением даты. ofPattern () здесь используется метод для установки шаблона значения даты. В шаблоне 'EEEE ' используется для печати дня недели в полной форме, 'дд ' используется для печати дня, 'ММММ'используется для печати названия месяца в полной форме и 'yyyy' используется для печати четырехзначного года. В сейчас() метод LocalDateTime здесь используется для чтения текущей системной даты и времени. В формат() используется для возврата форматированного значения даты в строке на основе шаблона.
импорт Java.время.формат.DateTimeFormatter;импорт Java.время.LocalDateTime;
public class date1
public static void main (String [] args)
// Создаем объект форматирования с помощью ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, дд MMMM гггг.");
// Создаем локальный объект даты и времени
LocalDateTime dateTimeObj = LocalDateTime.сейчас();
// Получаем отформатированную строку
Строка stringDate = format_object.формат (dateTimeObj);
// Распечатываем отформатированную дату
Система.вне.println («Сегодня» + stringDate);
Выход:
На следующем изображении показан результат выполнения вышеуказанного кода. Вывод будет зависеть от текущей системной даты.
Пример-3: Форматирование даты с использованием SimpleTimeFormat и метода format ()
В следующем примере показано использование SimpleTimeFormat для печати форматированного значения даты и времени на основе используемого шаблона. Здесь «дд ММММ гггг, EEEE, чч: мм а» используется в качестве шаблона в коде. Значение каждой части рисунка без «чч» и «мм» объясняется в предыдущем примере. 'чч ' здесь используется для печати текущего значения часа, а 'мм'используется для печати текущего значения минут. Дата класс используется в коде для чтения текущей системной даты и времени. В формат() используется для возврата форматированных значений даты и времени в строке на основе используемого шаблона.
импорт Java.текст.SimpleDateFormat;импорт Java.утилита.Дата;
public class date3
public static void main (String [] args)
// Устанавливаем шаблон
Шаблон строки = "дд ММММ гггг, EEEE, чч: мм а";
// Создаем объект SimpleDateFormat
SimpleDateFormat simpleDateFormat = новый SimpleDateFormat (шаблон);
// Преобразуем дату в строковое значение
Строка dateVal = simpleDateFormat.формат (новая дата ());
// Разбиваем значение даты по запятой (,)
Строка [] today_arr = dateVal.расколоть(",");
// Распечатать форматированный вывод
Система.вне.println ("Date -" + today_arr [0] + "\ nDay -" + today_arr [1] +
"\ nTime -" + today_arr [2]);
Выход:
На следующем изображении показан результат выполнения вышеуказанного кода. Вывод будет зависеть от текущей системной даты и времени.
Пример-4: Форматирование даты с использованием SimpleTimeFormat и метода parse ()
В следующем примере показано использование синтаксический анализ () метод для чтения текущей даты или определенной даты, который преобразует форматированное строковое значение в значение даты. Здесь «Дд / ММ / гггг» шаблон используется для установки конкретной даты для анализировать () метод. Текущее значение даты считывается Дата class и вернул значение в виде строки. Это значение снова преобразуется в значение даты с помощью анализировать () метод. Затем конкретное значение даты устанавливается в виде строки в методе parse () в соответствии с шаблоном. Значение преобразуется в дату, как раньше.
импорт Java.текст.SimpleDateFormat;импорт Java.утилита.Дата;
public class date4
public static void main (String [] args)
// Устанавливаем шаблон
Шаблон строки = "дд / мм / гггг";
пытаться
// Создаем объект SimpleDateFormat
SimpleDateFormat format_object = новый SimpleDateFormat (шаблон);
// Преобразуем текущую дату в строковое значение
Строка dateVal = format_object.формат (новая дата ());
// Преобразуем строку в значение даты
Дата date1 = формат_объект.синтаксический анализ (dateVal);
// Распечатываем значение даты
Система.вне.println ("Текущая дата" + date1);
// Преобразуем заданную строку даты в значение даты
Дата date2 = формат_объект.синтаксический анализ («16.12.2020»);
// Распечатываем значение даты
Система.вне.println ("Определенная дата" + date2);
поймать (Java.текст.ParseException e)
// Распечатать сообщение об ошибке
Система.ошибаться.println (e.getMessage ());
Выход:
Следующий вывод появится после запуска скрипта, и первый вывод будет зависеть от текущего системного времени.
Заключение:
В этом руководстве показаны различные способы форматирования значения даты с использованием различных классов Java. В учебном пособии основное внимание уделяется форматированию значений даты. Вы также можете форматировать значение времени с помощью классов, используемых здесь. Надеюсь, после прочтения этого руководства задача форматирования даты в Java станет проще.