Если мне позволят сделать шаг назад: это может немного пахнуть проблемой дизайна. Вы не должны хранить свою дату в строке в формате dd/mm/yyyy
. Вы должны хранить свою дату в LocalDate
. Конечно, если дата является строковым вводом, например, от пользователя, вы должны принять как таковой. Затем преобразуйте в LocalDate
:
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/u");
String dateString = "1/9/2019";
LocalDate date = LocalDate.parse(dateString, dateFormatter);
Для форматирования дня месяца в две цифры используйте другую DateTimeFormatter
:
DateTimeFormatter dayOfMonthFormatter = DateTimeFormatter.ofPattern("dd");
String dayString = date.format(dayOfMonthFormatter);
System.out.println("Day in two digits is " + dayString);
В этом случае выведите:
Днем из двух цифр является 01
Или для вывода полной даты с двузначным днем и двухзначным месяцем:
DateTimeFormatter outputDateFormatter = DateTimeFormatter.ofPattern("dd/MM/uuuu");
String outputString = date.format(outputDateFormatter);
System.out.println("Output: " + outputString);
Вывод: 01/09/2019
Ссылка: Обучающая программа Oracle: Дата Время .