Рубрики
Без рубрики

Java SimpleDateFormat, Формат даты Java, Формат даты Java, строка формата даты java, формат времени java, формат календаря java, дата анализа java, класс Java DateFormat, java.text.SimpleDateFormat, Пример формата даты Java, код учебника java.text.DateFormat.

Java SimpleDateFormat, Формат даты Java, Формат даты Java, строка формата даты java, формат времени java, формат календаря java, дата анализа java, класс Java DateFormat, java.text.SimpleDateFormat, Пример формата даты Java, код учебника java.text.DateFormat.

Автор оригинала: Pankaj Kumar.

Классы Java SimpleDateFormat и Формат даты используются для форматирования даты. Он в основном используется там, где нам нужно отображать или использовать функции даты и времени Java. Оба этих класса присутствуют в com.text пакете.

  • Формат даты используется для форматирования даты в строку на основе определенного языка, который предоставляется в качестве входных данных.
  • Языковой стандарт используется для указания региона и языка, чтобы сделать код более доступным для пользователя.
  • Способ написания даты отличается в разных регионах мира. Например, 31 декабря 2017 года будет записано в Индии как 31-12-2017, но то же самое будет написано в США как 12-31-2017.
  • Классы формата даты не синхронизируются, рекомендуется создавать отдельные экземпляры для каждого потока .

Создание экземпляра DateFormat

Объект DateFormat может быть создан с помощью метода getDateInstance() и getTimeInstance() класса DateFormat.

Locale loc = new Locale("en", "US");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, loc);

Как показано в приведенном выше примере, методу getDateInstance DateFormat требуются два входных параметра, первый параметр определяет используемый формат данных, а второй параметр-языковой стандарт.

Пример формата даты Java

Класс DateFormat имеет метод format, который отвечает за форматирование.

Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);

Выходные данные: 3 января 2018 г.

В приведенном выше примере для создания экземпляра DateFormat мы используем метод getDateInstance () .

Для выполнения формата времени нам нужен экземпляр времени. Мы будем использовать метод getTimeInstance() для получения экземпляра времени.

Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);

Вывод: 11:03:01

Java SimpleDateФормат

SimpleDateFormat очень похож на DateFormat, единственное существенное различие между ними заключается в том, что SimpleDateFormat можно использовать для форматирования (преобразование даты в строку) и для синтаксического анализа ( преобразование строки в дату ) с поддержкой языкового стандарта, в то время как DateFormat не поддерживает языковой стандарт.

Кроме того, формат даты-это абстрактный класс, который обеспечивает базовую поддержку форматирования и анализа даты, SimpleDateFormat-это конкретный класс, который расширяет класс DateFormat.

Создание экземпляра SimpleDateFormat

SimpleDateFormat может быть создан с помощью конструктора SimpleDateFormat, конструктор является параметризованным конструктором и нуждается в строковом шаблоне в качестве параметра.

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

В приведенном выше примере шаблон строки-это шаблон, который будет использоваться для форматирования даты, и выходные данные будут сгенерированы в этом шаблоне как “ММ-дд-гггг”.

Пример Java SimpleDateFormat

Чтобы проанализировать дату, нам нужно создать экземпляр SimpleDateFormat с помощью конструктора, а затем использовать метод format ().

Давайте рассмотрим пример форматирования даты с помощью SimpleDateFormat.

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);

Выходные данные: 01-02-2018

В приведенном выше примере дата-2 января 2018 года.

Для анализа времени мы должны изменить шаблон при создании экземпляра SimpleDateFormat.

String pattern = " HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);

Выход: 13:03:15.454+0530

В приведенном выше примере шаблоны представляют собой шаблон времени, и форматирование для текущего времени выполняется на основе шаблона.

Синтаксический анализ с использованием SimpleDateFormat

Синтаксический анализ-это преобразование строки в java.util.Дата экземпляр. Мы можем проанализировать строку в экземпляр даты, используя parse() метод класса SimpleDateFormat.

Для анализа строки на сегодняшний день нам нужен экземпляр класса SimpleDateFormat и шаблон строки в качестве входных данных для конструктора класса.

String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("12-01-2018");
System.out.println(date);

Выход://Sat Dec 01 00:00: 00-2018

Теперь давайте рассмотрим пример SimpleDateFormat для анализа времени.

String pattern = "HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("22:00:03");
System.out.println(date);

Выход://Ту Янв 01 22:00:03 1970

В приведенном выше примере, поскольку мы не указали никакой даты, программа рассматривала эпоху как дату, т. е. 01 января 1970 года.

Java SimpleDateФормат с языковым стандартом

Мы работали с языковым стандартом как частью формата даты, и мы видели, что языки используются в зависимости от регионов. Давайте подумаем, что мы хотим использовать SimpleDateFormat на французском языке, как этого добиться?

String pattern = "EEEEE MMMMM yyyy HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat =new SimpleDateFormat(pattern, new Locale("fr", "FR"));
String date = simpleDateFormat.format(new Date());
System.out.println(date);

Output: вторник, января 2018 14:51:02.354+0530

В приведенном выше примере месяц и день названы на французском языке в зависимости от языкового стандарта, предоставленного в качестве входных данных.

Мы видели разные способы форматирования и синтаксического анализа. Давайте рассмотрим синтаксис шаблона, который следует использовать для шаблона форматирования.

РЕКЛАМА G Тихоокеанское стандартное время; PST; GMT-08:00
2018(гггг),18(гг) y Тихоокеанское стандартное время; PST; GMT-08:00
Июль(ММММ), Июль(МММ), 07(ММ) M Тихоокеанское стандартное время; PST; GMT-08:00
16 w Тихоокеанское стандартное время; PST; GMT-08:00
3 W Тихоокеанское стандартное время; PST; GMT-08:00
266 D Показывает количество дней в году
09(dd), 9(d) d День месяца
4 F День недели в месяце
Вторник, Вт E Название дня недели
2 u Номер дня недели, где 1 представляет понедельник, 2 представляет вторник и так далее
АМ a Маркер AM или PM
12 H Час в сутках (0-23)
23 k Час в день (1-24)
0 K Час в am/pm для 12-часового формата (0-11)
12 h Час в am/pm для 12-часового формата (1-12)
59 m Минута в час
35 s Секунда в минуту
978 S Миллисекунда в минуту
Тихоокеанское стандартное время; PST; GMT-08:00 z Часовой пояс
-0800 Z Смещение часового пояса в часах (шаблон RFC)
Тихоокеанское стандартное время; PST; GMT-08:00 X Смещение часового пояса в формате ISO

Примечание: В приведенных выше шаблонах некоторые буквы должны использоваться в разных числах для разных результатов, например, для месяца Июль(ММММ), июль(МММ), 07(ММ) результаты разные.

Пример формата Даты И Времени Java

Мы обсудили различные аспекты DateFormat и SimpleDateFormat. Давайте теперь рассмотрим несколько примеров для различных форматов даты и времени.

01/02/2018 ММ / dd / yyyy
02-1-2018 06:07:59 дд-гггг чч:мм:сс
02 Января 2018 дд ММ гггг
02 Января 2018 По стандартному времени Индии дд ММММ гггг зззз
Тю, 02 Янв 2018 18:07: 59 E, дд МММ гггг ЧЧ:мм:сс z

Это все для примера java SimpleDateFormat для форматирования даты и анализа строки на сегодняшний день в программах java.

Ссылка: Документ API SimpleDateFormat , Документ API DateFormat