Формат даты Java

Значение даты необходимо форматировать для различных целей программирования. Одна из основных причин форматирования даты — представление значения даты в удобочитаемом формате. В Java существует множество классов для форматирования значения даты. DateTimeFormatter и SimpleDateFormat — два из них. Эти классы можно использовать для форматирования значений дат по-разному. В этом руководстве объясняется, как эти два класса могут использоваться для форматирования даты в Java.

DateTimeFormatter:

Он введен в Java 8 для форматирования значения даты. Он используется для форматирования ZoneDateTime , LocalDateTime , LocalDate и LocalTime . Объект DateTimeFormatter может быть создан с использованием встроенного шаблона, пользовательского шаблона и локализованного стиля. Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.

SimpleDateFormat:

Он используется для форматирования и анализа значений даты с локальной поддержкой. Преобразование даты в строку и преобразование строки в дату можно легко выполнить с помощью этого класса. Он создается путем расширения класса DateFormat . Некоторые варианты использования этого класса показаны в этом руководстве с несколькими примерами.

Пример-1: Форматирование даты с использованием DateTimeFormatter и встроенного шаблона

Формат даты и времени DateTimeFormatter исправлен для встроенного шаблона. Значение даты и времени будет напечатано на основе встроенного шаблона, используемого в коде. Шаблон ISO_DATE используется в следующем коде, который печатает дату в формате гггг-мм-дд . Текущая дата считывается здесь с помощью метода с именем now () класса LocalDate , который возвращает форматированное значение даты в строке.

import java.time.format.DateTimeFormatter;
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 () используется для возврата форматированного значения даты в строке на основе шаблона.

import java.time.format. DateTimeFormatter;
импорт 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.text .SimpleDateFormat;
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.text.SimpleDateFormat;
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 станет проще.

Оцените статью
nanomode.ru
Добавить комментарий