Какое сегодня число?

  • 12
  • Недоступна
В Java есть много инструментов, позволяющих работать со временем и датами. В этот раз будем пользоваться объектом Date и SimpleDateFormat, а задание у нас такое: пользователь должен ввести с клавиатуры дату в формате «2013-08-18», а приложение должно трансформировать введенное в форму «AUG 18, 2013».
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (267)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владимир QA Automation Engineer
29 января, 10:26
Получилось вот так ) String str = (new BufferedReader(new InputStreamReader(System.in))).readLine(); Date inputStrPattern = new SimpleDateFormat("yyyy-MM-dd").parse(str); SimpleDateFormat outputStrPattern = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH); System.out.println(outputStrPattern.format(inputStrPattern).toUpperCase());
xxxx
Уровень 16
31 января, 07:08
мне кажется, что уложили код в 4 строки в ущерб читабельности
Владимир QA Automation Engineer
6 февраля, 20:14
нет
Ivan
Уровень 16
12 июля 2022, 22:25
То есть валидатор не засчитывал потому что у меня BufferReader был static?
9 февраля 2022, 09:57
Внимательность(к формату вывода) - наше все
Егор Комаров
Уровень 15
16 декабря 2021, 10:16
По форматам дат очень помогла вот ЭТА статья
Иван
Уровень 23
19 июля 2022, 18:50
Спасибо!
KIRUSHIK
Уровень 17
27 октября 2021, 09:50
Если вы решили эту задачу самостоятельно, то обязательно потом посмотрите решение, которое предлагает сам JavaRush оно в 4 строчки. P.S. - разбивать строку и вычленять все по отдельности не надо.
Neonila Kravtcova
Уровень 19
27 ноября 2021, 23:44
Именно этот единственный комментарий помог решить задачу сразу, правда, в 6 строк. Пойду смотреть решение JR и восхищаться )
Neonila Kravtcova
Уровень 19
27 ноября 2021, 23:46
Посмотрела. Идеально. У меня практически так же, и строк у них - 6! ))
KIRUSHIK
Уровень 17
30 ноября 2021, 18:19
Поздравляю и спасибо за выделение моего комментария.)))
Vic
Уровень 19
3 декабря 2021, 17:40
Сам смог только через LocalDate и DateTimeFormatter. В 4 строки, без привязки к pattern-у ввода...
Наиль
Уровень 19
20 октября 2021, 17:35
Если при решении вы вдруг столкнулись с проблемой, что Date.setYear() работает неправильно - то это нормально - Date все-таки deprecated :) Спасибо вот этому обсуждению - https://javarush.com/help/12714 - разобрался Отвращение к работе с датой на пределе.
Эльдар
Уровень 19
26 сентября 2021, 00:00
30 попыток
23 сентября 2021, 16:16
В датах ещё плаваю, по памяти решить не получилось. Хорошо, что сохраняю статьи по темам - Как не потеряться во времени — DateTime и Calendar
22 августа 2021, 16:56
Хорошая задача. Честно говоря недопонимал форматы дат, потом понял, а еще потом как понял!
Денис Кочетов Technical Lead в СП62
30 мая 2021, 15:20
Интересная задача на понимание обработки входящих и исходящих дат. Пришлось читать мануалы, что не может не радовать.
//Парсинг строки и сохранение в тип Date.
SimpleDateFormat dfIn = new SimpleDateFormat("yyyy-MM-dd");
Date date = dfIn.parse(str);
//Перевод даты в String в указанном формате и вывод в верхнем регистре.
SimpleDateFormat dfOut = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
System.out.println(dfOut.format(date).toUpperCase());
Анжелика П. Java Developer
20 июля 2021, 08:27
Спасибо!
Alla Morozova
Уровень 22
2 августа 2021, 15:12
а можно ссылку на ввод данных, вопрос остался не понятен