Преобразование даты в строку

Java:
Преобразование даты в строку

Как:

Java делает преобразование даты в строку простым и понятным. Класс java.time.format.DateTimeFormatter будет вашим лучшим помощником. Вот пример кода:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateToStringExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now(); // Сегодняшняя дата
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        String dateString = date.format(formatter);
        System.out.println(dateString); // Вывод может быть, например, 20/03/2023
    }
}

Подробнее

Исторически Java использовала SimpleDateFormat из пакета java.text, но он не был потокобезопасным и приводил к ошибкам. Начиная с Java 8, пакет java.time принёс с собой потокобезопасные и неизменяемые классы для работы с датой и временем. DateTimeFormatter является частью этого современного пакета.

Существуют альтернативные решения, такие как FastDateFormat от Apache Commons и DateUtils из различных библиотек. Тем не менее, большинство Java-разработчиков придерживаются стандартной библиотеки, которая является надёжной и универсальной.

При форматировании DateTimeFormatter использует шаблоны yyyy для года, MM для месяца и dd для дня. Он может обрабатывать довольно сложные шаблоны, даже специфичные для локали, с использованием метода ofPattern. Также стоит отметить, что DateTimeFormatter неизменяем и потокобезопасен, поэтому вы можете использовать один и тот же экземпляр форматера в нескольких потоках без головной боли из-за необходимости синхронизации.

См. также