Мне нужно хранить и сравнивать даты (без времени) в моем приложении, не заботясь о часовых поясах.
Я вижу три решения этого вопроса:
(date1.year == date2.year && date1.month == date2.month && date1.day == date2.day)
Это то, что я делаю сейчас, но это ужасно многословно.
date1.format("YYYYMMDD") == date2.format("YYYYMMDD")
Это все еще довольно многословно (хотя и не так плохо), но просто кажетсянеэффективно для меня ...
Создайте новый класс Date самостоятельно, возможно, сохранив дату в виде строки "ГГГГММДД" или числа дней с 1 января 1980 года. Но это означает повторноереализация целой связки сложной логики, такой как разная длина месяца, сложение / вычитание и високосные годы.
Создание нового класса также позволяет избежать крайнего случая, о котором я беспокоюсь, когда добавление Duration(days: 1)
заканчивается той же датой из-за изменения летнего времени.Но в этом методе, вероятно, есть крайние случаи, о которых я не думаю ...
Какое из этих решений является лучшим или есть еще лучшее решение, о котором я не думал?