package solution;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Solution {
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("MMMM dd yyyy");
String data = df.format(new Date());
System.out.println(data + " " + "=" + "" + " " + isDateOdd(""));
}
public static boolean isDateOdd(String date) {
Date yearStartTime = new Date();
yearStartTime.setHours(0);
yearStartTime.setMinutes(0);
yearStartTime.setSeconds(0);
yearStartTime.setDate(1); // первое число
yearStartTime.setMonth(0); // месяц январь, нумерация для месяцев 0-11
Date currentTime = new Date();
long msTimeDistance = currentTime.getTime() - yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000; //сколько миллисекунд в одних сутках
int x = (int) (msTimeDistance/msDay); //количество целых дней
if (((x - 1) % 2)== 0){
return false;
}
else { return true; }
}
}
VitalyK #1116124
39 уровень
как обычно :) вроде всё так, а валидация не пропускает ?
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Артем Divertitto Senior Android-разработчи в United Tech Master
7 февраля 2019, 10:34
package com.javarush.task.task08.task0827;
0
Sergey MorozExpert
5 февраля 2019, 18:10
Дак в задаче требуется определить четность/нечетность даты с начала переданного в параметре года. А не с начала текущего года до сегодня.
То есть если пришла дата 13 февраля 2013 г., то и нужно сосчитать кол-во дней с 1 января 2013 по 13 февраля 2013 и вычислить четность.
И привыкайте изучать доп.источники (в данном случае не мешало бы почитать доки по Date/SimpleDateFormat - последний кстати имеет интересный ключ ("D"), и мог бы избавить от необходимости перемножать милисекунды на секунды на минуты на часы на сутки, чтобы вычислить количество дней с начала года)
0
VitalyK #1116124
5 февраля 2019, 18:34
Спасибо большое :)
0
Jeckstar
5 февраля 2019, 18:08
1. isDateOdd("")) - что вы здесь передаете методу ?
2. long day = dayFromStartOfYear/(24*60*60*1000); // я прописал заключительную часть метода слегка иначе
if(day % 2 == 0){
return true;
}
else{
return false;
}
0
Sergey MorozExpert
5 февраля 2019, 18:21
if не нужен (тут тавтологичен) - поскольку метод возвращает boolean, можно сразу кидать результат сравнения
0
VitalyK #1116124
5 февраля 2019, 18:34
Спасибо большое :)
0
Сергеев ВикторMaster
5 февраля 2019, 17:50
так бывает )
0
VitalyK #1116124
5 февраля 2019, 17:59
Спасибо за поддержку. :)
0