- 1
- 2
- 3
- 4
while (today.before(endTrial)) {
today.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+83
while (today.before(endTrial)) {
today.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
считаем разницу между двумя датами
С месяцами, например, так не прокатит.
P.S. А вообще этим переводом часов испоганили всё летоисчисление. Один час в году вообще выпадает, а второй мапается на UTC'шное время два раза, создавая неоднозначную ситуацию при переводе. Собственно почему часы и переводят глубокой ночью - чтобы как можно меньше событий попадало в эти нехорошие интервалы, и люди не мучались.
Только если вы возьмете с правительства страны, к которой относится эта зона, расписку о том, что она не станет вводить DST ближайшие 20-30 лет ;)
UPD: И убедитесь в том, что эта страна раньше не вводила DST, иначе на старых датах будет баговать.
P.S. Если уж на то пошло - есть еще такая херня как leap second, которая внесет еще немного погрешности ;)
В обширном центре время считается (в том числе) как UTC+0.
Библиотеку подключить, не-а?
Хотя java же.. ну тогда фреймворк -> он предоставит фабрику -> она нагенерит объект-дату -> у него будет метод "разница"
в каждой дате установить время 00:00, взять разницу timestamp'ов, ее разделить на 86400000f, и округлить до ближайшего целого.
Days.daysBetween(d1, d2);