Работа с датой

  • 10
  • Недоступна
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года - нечетное число, иначе false 2. String date передается в формате FEBRUARY 1 2013 Не забудьте учесть первый день года. Пример: JANUARY 1 2000 = true JANUARY 2 2020 = false
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (470)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Valkery
Уровень 26, Белгород, Россия
11 февраля, 18:45
dayDate.get(Calendar.DAY_OF_YEAR)%2 !=0;
Артем
Уровень 13, Новосибирск, Россия
26 февраля, 18:35
Поделишься ссылкой где про календарь читал?
Valkery
Уровень 26, Белгород, Россия
27 февраля, 04:58
https://javarush.ru/groups/posts/1941-kak-ne-poterjatjhsja-vo-vremeni--datetime-i-calendar
Elidriel
Уровень 35, Воронеж
18 декабря 2021, 12:32
мучаешься тут через DateTimeFormatter, страдаешь... а в правильном решении - через устаревшее Date обидное:(
Егор Комаров
Уровень 12
2 декабря 2021, 20:45
Это КОШМАР какой-то! Условие задачи АБСОЛЮТНО непонятно изложено! Можно подумать, что нужно вычислить четность/нечетность кол-ва дней с начала года указанной даты, до сегодняшнего дня, а не до самой этой даты. АЛЛО!
Demetria
Уровень 22, Черновцы, Украина
25 января, 20:57
да, я тоже так сначала поняла потратила кучу времени 🤯
Neonila Kravtcova
Уровень 19, Санкт-Петербург, Россия
23 ноября 2021, 22:15
Это был кошмар, но с первого раза )) благодаря комментарию Ksenia Volkova про внимательное чтение документации, где, оказывается, написано, что: "Для DateTimeFormatter месяц (MMM) соответствует формату 'May' (именно с таким регистром)." Решила через приведение стринга к нужному виду (только первая буква месяца должна быть большой), DateTimeFormatter и LocalDate. Потом не брался у меня JANUARY целиком. Вычитала, что если в паттерне "буква M указывается 2 раза подряд, то пишется номер месяца, если 3 раза подряд, то название месяца (3 первых буквы), если 4 раза подряд, то полное название месяца". На десерт пошла смотреть решение JR, у них должно быть решено только через Date. Пойду удивлюсь.
Vadim Zhalnin
Уровень 17
15 октября 2021, 15:33
Не использовал SimpleDateFormat, Calendar, java.time, только Date. 1. Создал объект Date и передал туда тестируемую дату. 2. Создал еще один объект Date, всегда от 1 января, но год вставляется от тест даты. Использовал String. 3. Вычислил разницу объектов (long) в миллисекундах и разделил её на 86400000 (кол-во миллисекунд в сутках). Получилось количество суток. Дальше дело техники, через %.
Neonila Kravtcova
Уровень 19, Санкт-Петербург, Россия
23 ноября 2021, 22:08
Ничего себе калькуляция!
7 октября 2021, 14:45
Очень странно, что это такое за +1 (long day = 24 * 60 * 60 * 1000 +1;) ??? В коментах вижу пишут, что плюс 1 день, но не пойму зачем??? И как до этого догадаться, если в лекции формула указана без этого +1 ??? Вообщем, если кто понял, скажите зачем тут +1 добавили в формулу. Там и так 1-ое января указано было
artbunny
Уровень 16, Санкт-Петербург, Россия
13 мая, 17:16
Чтобы при подсчете количества дней учитывался день по заданию. В случае с этой задачей MAY 1 2013 - 121-й день в году
Эльдар
Уровень 18, Ростов-на-дону
27 сентября 2021, 02:01
74 попытки
Yakov Bashkurov
Уровень 17, Тобольск, Россия
7 октября 2021, 11:44
// Дорогу осилит идущий;
Ян
Уровень 22, Москва
8 ноября 2021, 17:16
15 попыток, так и не понял где косяк был, из-за какой-то мелочи не получалось. Я в других заданиях несколько переживаю когда не в 1-2 попытки, а тут уж даже хрен забил... Щёлкал и щёлкал. =)
DanYun
Уровень 20, Санкт-Петербург
24 сентября 2021, 19:09
Решал задачу не особо долго, но стало интересно какое решение предлагают разработчики? И что-то совсем не вдуплю... Зачем в подсчётах мы добавляем еденицу?
long days = time / 24 / 60 / 60000 + 1;
Типо, для чего нужно прибавлять милисекунду?
Николай
Уровень 20, Раменское, Россия
3 октября 2021, 12:48
Здесь не миллисекунду прибавляют, а один день - 1 января.
Алексей
Уровень 16, Минск, Беларусь
20 сентября 2021, 13:21
Для тех, кто решает через SimpleDateFormat - не забываем про Locale.ENGLISH
Екатерина
Уровень 23, Санкт-Петербург, Россия
30 января, 12:39
Потратила день на решение задачи, испсиховалась в попытках перевести дату из строки в необходимый тип - все время ошибка unparseable date, а надо было просто указать Locale.ENGLISH🤦‍♂️ не говоря о правильном решении, где вообще в Date подставили вводимое значение🤦‍♂️
Komarov Anton
Уровень 12, Самара
9 июля 2021, 09:18
Ты ищешь здесь именно это: =) (без simpleDateFormat) 1. Нам нужно минимум 2 даты чтобы отнимать что-то от чего-то, согласен? создай их. 2. Обе даты должны совпадать по году который был задан, как это сделать? вставь куда надо (date) 3. Одна дата должна начинаться с 1 января, верно? setы в помощь. 4. Теперь можно заниматься разницей в милисекундах не забыв, что это ООООЧЕНЬ большое число, тип нужен соответствующий. 5. Разницу в милисекундах нужно превратить в разницу во днях. (симпл математик) 6. if P.S. если ты все сделал правильно, но не понимаешь почему не работает, то подумай, а первый день января входит в разницу дней? Может его нужно учесть тоже)