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

  • 10
  • Недоступна
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года - нечетное число, иначе false 2. String date передается в формате FEBRUARY 1 2013 Не забудьте учесть первый день года. Пример: JANUARY 1 2000 = true JANUARY 2 2020 = false
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (395)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Никита Филипчук 9 уровень, Одесса
вторник, 20:51
return Integer.parseInt(new SimpleDateFormat("D").format(new Date(date))) % 2 == 1;
(для любителей "золотой" строки)
Виктор 9 уровень, Санкт-Петербург Expert
вторник, 15:22
Нас тут весь уровень по множествам и коллекциям дрючили таскали и вдруг резко такая головоломка с датами, учитывая, что лекций по дате было всего лишь пару штук и они частично было по устаревшим классам. Для решения настоятельно рекомендую перечитать статью про дату и время (ещё была краткая лекция от ДЖРШ), там во второй половине пойдёт речь про класс Календарь и SimpleDateFormat для парса и форматирования даты. 1. Создал и получил эксземляр календаря: Календарь календарь = Календарь.получитьЭкземпляр(); 2. Создал шаблон SimpleDateFormat "MMMMM d yyyy", чтобы спарсить строку с датой из условия. 3. Парсим переданную строку с датой и записываем её в наш созданный календарь: календарь.установитьВремя(шаблон.парсим(переданнуюСтроковуюДату); 4. Теперь с помощью календаря мы можем получить количество прошедших дней в году и проверить, чётные они или нет: Если (календарь.получить(Календарь.ДЕНЬ_ГОДА) при делении на 2 по модулю НЕ равен 0, то возвращаем из метода истину, Иначе возвращаем ложь. 5. Всё получиться! -- tlgrm: LetsCodeIt / SefoNotasi
Артур 9 уровень, Гродно
суббота, 21:28
Без календаря и без -deprecated методов: 1. Парсим дату из строки с помощью SimpleDateFormat .parse() 2. Потом ту же дату выводим с помощью SimpleDateFormat .format(). Выводим только D (день с начала года). 3. Парсим строку старым добрым Integer.parseInt(). 4. Проверяем на деление без остатка и возращаем true или false. Решал по этой лекции : Как не потеряться во времени — DateTime и Calendar
Andrey Shamardin 9 уровень, Москва
21 октября, 09:51
А я вот задачу решил, но может кто-то прояснит следующий момент. После того, как я посчитал кол-во дней(с 01/01/13 по 01/05/13 120 дней) следующий код не прошел проверку:
if (inputDate == firstDay || daysBetween % 2 == 1 ) {
            return true;
        } else return false;
После того, как остаток от деления поменял на daysBetween % 2 == 0 задача прошла проверку. То есть! На четное кол-во дней (120) возврат true, а на нечет false, хотя в условии наоборот.
Алексей 13 уровень, Зима
17 октября, 04:57
Решил через класс Date. Коллеги, возник вопрос:
dateTwo.setDate(0);
dateTwo.setMonth(0);
dateTwo.setYear(dateOne.getYear());
Как сделать в одну строчку?
Liudas P 10 уровень, Kaišiadorys
понедельник, 18:36
Date dateTwo = new Date(2012, 0, 1);
Margarita 10 уровень, Иваново
16 октября, 10:11
Date current = new Date(строка, которую дали); получить год из current с помощью getYear(); Date start = new Date(year, 0, 1); //0 - месяц, 1 - число посчитать разницу в днях + первое января (current.getTime() - start.getTime()) / 1000 / 60 / 60 / 24 + 1;
Fedor Barilyuk 10 уровень, Киев
15 октября, 13:03
Убил лишний час: Продолжите ассоциативный ряд: получить год - getYear() получить месяц - getMonth() получить день - ? Логично getDay() - ни фига - getDate(), мля...
Артур 9 уровень, Гродно
суббота, 21:30
Зачем тратить время на deprecated методы?
Антон Сачук 13 уровень, Минск
10 октября, 15:48
Аррррррр - создатель этой задачи, я тебя долгу буду помнить. За что ты не взлюбил 2013 год?
I Gor 17 уровень
2 октября, 13:13
long days = ChronoUnit.DAYS.between(now, befor);
OLGA LESOVAIA 11 уровень
29 сентября, 18:37
решала долго, но вот эта лекция, без использования календаря и дополнительных import, расставила все по местам. https://javarush.ru/quests/lectures/questsyntaxpro.level16.lecture01 один минус - отработанные методы Idea расценивает как deprecated, собственно, о чем и предупреждали.
Druha 15 уровень
10 октября, 09:57
тоже задумался над идеей решить эту задачу без дополнительных import. Как же вы её Решили без simpledateformat, который тоже нужно импортировать?
OLGA LESOVAIA 11 уровень
10 октября, 19:31
устаревшими методами - Date checkList = new Date(); checkList.setTime(Date.parse(date)); Date newYear = new Date(checkList.getYear(),0, 1, 0, 0);