Как найти будущую дату на Java (скажем, через два месяца с сегодняшнего дня) в формате 24 февраля 2019 года - PullRequest
0 голосов
/ 24 февраля 2019

Ниже приведен подход, с которым я иду:

Date DateObject = new Date();
SimpleDateFormat formatDate = new SimpleDateFormat("dd MMMM yyyy");
String dateString = formatDate.format(DateObject);
System.out.println(dateString);

Теперь это дает мне текущую дату в нужном формате.Я хочу найти значение даты в том же формате ровно через два месяца после этой даты.

Я также пытался работать по следующему подходу:

LocalDate futureDate = LocalDate.now().plusMonths(2);

Это дает мне желаемую дату, котораячерез два месяца, но в формате 2019-04-24.Когда я пытался отформатировать эту дату с помощью SimpleDateFormat, это дает мне исключение «Незаконный аргумент».

1 Ответ

0 голосов
/ 24 февраля 2019

Попробуйте использовать класс DateTimeFormatter, представленный в Java 8, избегайте использования SimpleDateFormat:

public static void main(String[] args) {
     LocalDate futureDate = LocalDate.now().plusMonths(2);
     DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy");
     String dateStr = futureDate.format(formatter);
     System.out.println(dateStr);
}

Вывод:

24 April 2019

DateTimeFormatter в Java 8 является неизменяемой и поточно-ориентированной альтернативой SimpleDateFormat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...