- DateTimeFormatter:
- SimpleDateFormat:
- Пример-1: Форматирование даты с использованием DateTimeFormatter и встроенного шаблона
- Пример -2: Форматирование даты с использованием DateTimeFormatter и настраиваемого шаблона
- Пример -3: Форматировать дату с помощью метода SimpleTimeFormat и format ()
- Пример-4: Форматирование даты с использованием метода SimpleTimeFormat и parse ()
- Заключение:
DateTimeFormatter:
Он введен в Java 8 для форматирования значения даты. Он используется для форматирования ZoneDateTime , LocalDateTime , LocalDate и LocalTime . Объект DateTimeFormatter может быть создан с использованием встроенного шаблона, пользовательского шаблона и локализованного стиля. Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.
SimpleDateFormat:
Он используется для форматирования и анализа значений даты с локальной поддержкой. Преобразование даты в строку и преобразование строки в дату можно легко выполнить с помощью этого класса. Он создается путем расширения класса DateFormat . Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.
Пример-1: Форматирование даты с использованием DateTimeFormatter и встроенного шаблона
Формат даты и времени DateTimeFormatter исправлен для встроенного шаблона. Значение даты и времени будет напечатано на основе встроенного шаблона, используемого в коде. Шаблон ISO_DATE используется в следующем коде, который печатает дату в формате гггг-мм-дд . Текущая дата считывается здесь с помощью метода с именем now () класса LocalDate , который возвращает форматированное значение даты в строке.
import java.time.LocalDate;
общедоступный класс date2 {
public static void main (String [] args) {
//Создать объект DateTimeFormatter
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Создать строковый объект для чтения локальной даты
String DateObject = format_object.format (LocalDate.now ());
//Распечатать текущую дату
System. out.println («Сегодня» + DateObject);
}
}
Вывод:
На следующем изображении показан результат выполнения вышеуказанного кода. Вывод будет зависеть от текущей системной даты.
Пример -2: Форматирование даты с использованием DateTimeFormatter и настраиваемого шаблона
Вы можете распечатать значение даты в более удобочитаемом формате, используя настраиваемый шаблон DateTimeFormatter. Шаблон, используемый в следующем примере, напечатает текущий день недели со значением даты.. Здесь используется метод ofPattern () для установки шаблона значения даты. В шаблоне ‘ EEEE’ используется для печати дня недели в полной форме, ‘ dd’ используется для печати дня, ‘ MMMM ‘используется для печати названия месяца в полной форме, а ‘ yyyy ‘ используется для печати четырехзначного года. Здесь используется метод now () элемента LocalDateTime для чтения текущей системной даты и времени. Метод format () используется для возврата форматированного значения даты в строке на основе шаблона.
импорт java.time.LocalDateTime;
public class date1 {
public static void main (String [] args) {
//Создаем объект форматирования using ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern («EEEE, dd MMMM yyyy.»);
//Создаем локальный объект даты и времени
LocalDateTime dateTimeObj = LocalDateTime.now ();
//Получить отформатированную строку
String stringDate = format_object.format (dateTimeObj);
//Распечатать отформатированную дату
System.out.println («Сегодня» + stringDate);
}
}
Вывод:
На следующем изображении показан вывод вышеуказанного кода. Вывод будет зависеть от текущей системной даты.
Пример -3: Форматировать дату с помощью метода SimpleTimeFormat и format ()
В следующем примере показано использование SimpleTimeFormat для печати отформатированного значения даты и времени на основе используемого шаблона. Здесь «дд ММММ гггг, EEEE, чч: мм а» используется в качестве шаблона в коде. Значение каждой части рисунка без «чч» и «мм» объясняется в предыдущем примере. « hh» используется здесь для печати текущего значения часа, а « mm » используется для печати текущего значения минут. Класс Date используется в коде для чтения текущей системной даты и времени. Метод format () используется для возврата форматированных значений даты и времени в строке на основе используемого шаблона.
import java.util.Date;
public class date3 {
public static void main (String [] args) {
//Устанавливаем шаблон
String pattern = «dd MMMM yyyy, EEEE, hh: mm a»;
//Создаем объект SimpleDateFormat
SimpleDateFormat simpleDateFormat = new SimpleDateFormat (pattern);
//Преобразование даты в строковое значение
String dateVal = simpleDateFormat.format (new Date ());
//Разбиваем значение даты на основе запятой (,)
String [] today_arr = dateVal. split («,»);
//Распечатать форматированный вывод
System.out.println («Date -» + today_arr [0] + » nDay -» + today_arr [1] +
» nTime -» + today_arr [2]);
}
}
Вывод:
На следующем изображении показан результат выполнения вышеуказанного кода. Вывод будет зависеть от текущей системной даты и времени.
Пример-4: Форматирование даты с использованием метода SimpleTimeFormat и parse ()
В следующем примере показано использование метода parse () для чтения текущей даты или конкретная дата, которая преобразует форматированное строковое значение в значение даты. Здесь шаблон «дд/ММ/гггг» используется для установки конкретной даты для метода parse () . Текущее значение даты считывается классом Date и возвращает значение в виде строки. Это значение снова преобразуется в значение даты с помощью метода parse () . Затем конкретное значение даты устанавливается в виде строки в методе parse () в соответствии с шаблоном. Значение преобразуется в дату, как и раньше.
import java.util.Date;
public class date4 {
public static void main (String [] args) {
//Установить шаблон
String pattern = «dd/MM /yyyy «;
try {
//Создать объект SimpleDateFormat
SimpleDateFormat format_object = new SimpleDateFormat (шаблон);
//Преобразование текущей даты в строковое значение
String dateVal = format_object.format (new Date ());
//Преобразование строки в значение даты
Date date1 = format_object.parse (dateVal);
//Распечатать значение даты
System.out.println («Текущая дата» + date1);
//Преобразуем заданную строку даты в значение даты
Date date2 = format_object.parse («16/ 12/2020 «);
//Распечатать значение даты
System.out.println (» Определенная дата «+ date2);
}
catch (java.text.ParseException e) {
//Распечатать сообщение об ошибке
System.err.println (e.getMessage ());
}
}
}
Вывод:
Следующий вывод появится после запускает скрипт, и первый вывод будет зависеть от текущего системного времени.
Заключение:
В этом руководстве показаны различные способы форматирования значения даты с использованием различных классов Java. В учебном пособии основное внимание уделяется форматированию значений даты.. Вы также можете форматировать значение времени по используемым здесь классам. Надеюсь, после прочтения этого руководства задача форматирования даты в Java станет проще.