Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Установить дату методом, принимающем день, месяц и год

#java #дата #calendar


Перерыл кучи документации и понял, что для работы с датой лучше всего использовать
Calendar. Но возник такой вопрос: возможно ли в JAVA задать нужную дату напрямую без
лишних преобразований, что-то по типу myDate.set("28.12.2016"); ну или через запятую?

Подскажите, в какую сторону копать либо киньте примеры (именно на установку даты
и ее извлечение).

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


Ответы

Ответ 1



Как я понимаю, нужный тебе метод тут Calendar calendar = Calendar.getInstance(); calendar.set(2016, 6, 10); Для отображения даты используйте SimpleDateFormat Например: SimpleDateFormat dayFormat = new SimpleDateFormat("EEE, d MMMM", Locale.getDefault()); String myString = dayFormat.format(calendar.getTime()); Задавайте нужный паттерн для вывода даты, в примере выше результат будет "Вс, 12 июня" А при вводе от пользователя ничто Вам не мешает минусить на единицу введеный месяц. Комментарий от @zRrr: SimpleDateFormat умеет разбирать строки с датами, примерно так: Date date = new SimpleDateFormat( "dd.MM.yyyy" ).parse( "28.12.2016" ); и так лучше разбирать пользовательский ввод, если формат даты в строке известен.

Ответ 2



Calendar c = Calendar.getInstance(); c.set(year, month, day); //вводим дату SimpleDateFormat format1 = new SimpleDateFormat("MMMM dd yyyy", Locale.ENGLISH); String formatted = format1.format(c.getTime());

Комментариев нет:

Отправить комментарий