Разложите его в функцию и сделайте каждое условие охранной оговоркой:
int maybe_do_something(...) {
if(something != -1)
return 0;
if(somethingelse != -1)
return 0;
if(etc != -1)
return 0;
do_something();
return 1;
}
Given a Date dt
you have several possibilities:
Solution 1: You can use the Calendar
class for that:
Date dt = new Date();
Calendar c = Calendar.getInstance();
c.setTime(dt);
c.add(Calendar.DATE, 1);
dt = c.getTime();
Solution 2: You should seriously consider using the Joda-Time library, because of the various shortcomings of the Date
class. With Joda-Time you can do the following:
Date dt = new Date();
DateTime dtOrg = new DateTime(dt);
DateTime dtPlusOne = dtOrg.plusDays(1);
Solution 3: With Java 8 you can also use the new JSR 310 API (which is inspired by Joda-Time):
Date dt = new Date();
LocalDateTime.from(dt.toInstant()).plusDays(1);
Чтобы сделать его менее специфичным для Java, основным принципом было бы преобразование в некоторый линейный формат даты, юлианские дни, модифицированные юлианские дни, секунды с некоторой эпохи и т. Д., Добавьте свой день, и преобразовать обратно.
Причина этого в том, что вы передаете задачу «получить високосный день, секунду координации и т. д. правильно» тому, кто, если повезет, не решил эту проблему.
I предупредит вас, что правильное выполнение этих процедур преобразования может быть трудным. Существует удивительное количество различных способов, которыми люди портят время, самым последним известным примером был Zune от MS. Не высмеивайте MS, это легко Не помогает то, что существует несколько разных форматов времени, скажем, TAI vs TT.
используйте объект DateTime obj.Add, чтобы добавить любой желаемый день, час и т. Д. Надеюсь, это сработает :)
Date today = new Date();
Date tomorrow = new Date(today.getTime() + (1000 * 60 * 60 * 24));
В Date есть конструктор, использующий миллисекунды с эпохи UNIX. метод getTime () дает вам это значение. Таким образом, добавление миллисекунд на день поможет. Если вы хотите делать такие манипуляции регулярно, я рекомендую определять константы для значений.
Важный совет: это не во всех случаях. Прочтите комментарий ПРЕДУПРЕЖДЕНИЕ ниже.