java.time.format и был введен в Java 8 в рамках новой Date and Time API.DateTimeFormatter содержит предопределенные форматы, такие как ISO_LOCAL_DATE, ISO_LOCAL_TIME, ISO_LOCAL_DATE_TIME, BASIC_ISO_DATE и другие. Так же, DateTimeFormatter поддерживает создание пользовательских форматов с использованием шаблонов.Форматирование даты и времени:
LocalDateTime now = LocalDateTime.now();
// Использование предопределенного формата
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
String formattedDate = now.format(formatter);
System.out.println("ISO_LOCAL_DATE_TIME: " + formattedDate);
// ISO_LOCAL_DATE_TIME: 2024-06-20T21:46:43.584659
// Использование пользовательского формата
DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
String customFormattedDate = now.format(customFormatter);
System.out.println("Custom format: " + customFormattedDate);
// Custom format: 20-06-2024 21:46:43
Парсинг строки в дату и время:
String dateStr = "2024-06-20T15:30:00";
// Использование предопределенного формата
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
LocalDateTime dateTime = LocalDateTime.parse(dateStr, formatter);
System.out.println("Parsed date (ISO_LOCAL_DATE_TIME): " + dateTime);
// Parsed date (ISO_LOCAL_DATE_TIME): 2024-06-20T15:30
// Использование пользовательского формата
String customDateStr = "20.06.2024 15:30:00";
DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
LocalDateTime customDateTime = LocalDateTime.parse(customDateStr, customFormatter);
System.out.println("Parsed date (custom format): " + customDateTime);
// Parsed date (custom format): 2024-06-20T15:30
#java #DateTimeFormatter
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍2🔥2❤1
DateTimeFormatter из пакета java.time — это удобный инструмент для форматирования и парсинга дат и времени. Он гибкий, лаконичный и поддерживает локализацию. 🔍 Форматирование даты:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateFormattingExample {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String formattedDate = date.format(formatter);
System.out.println("Formatted date: " + formattedDate); // Formatted date: 05-01-2025
}
}
🔗 Парсинг строки в дату:
String dateString = "05-01-2025";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate date = LocalDate.parse(dateString, formatter);
System.out.println("Parsed date: " + date); // Parsed date: 2025-01-05
✨ Предустановленные форматы:
Для стандартных форматов можно использовать готовые константы:
-
DateTimeFormatter.ISO_DATE — 2025-01-05 -
DateTimeFormatter.RFC_1123_DATE_TIME — Fri, 20 Dec 2024 00:00:00 GMT 📌 Пример с локализацией:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class LocalizedDateTimeExample {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE, dd MMMM yyyy", Locale.FRENCH);
String formatted = dateTime.format(formatter);
System.out.println(formatted); // dimanche, 05 janvier 2025
}
}
💡 Когда использовать?
1️⃣ Для вывода дат в красивом формате.
2️⃣ Для парсинга пользовательского ввода.
3️⃣ В приложениях с поддержкой нескольких языков.
#Java #DateTimeFormatter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2