Проверка ближайших дней - PullRequest
0 голосов
/ 07 марта 2019

Это будет немного сложно объяснить, но

У меня есть 2 даты, меня интересуют день и месяц, если только у 2 дат нет одного года

2015 /12/30 и 2019/01/04

игнорируя часть года (вид) результата , я ожидаю разницу в 6 дней для 2 дат выше

, еслия должен был использовать date.DayOfYear, я бы получил 364 (2015/12/30) и 4 (2019/01/04) соответственно

, однако, если годы совпадают, то 2019/01/04 2019/12 /30 тогда результат, который я ожидаю , будет разница в 359 дней

есть ли умный способ сделать это, не добавляя код в операторы if?

1 Ответ

0 голосов
/ 07 марта 2019

Если разница между годами была просто 0 или 1, то вы могли бы просто преобразовать обе даты в абсолютное значение (в секундах, мс, времени unix или как угодно), вычесть 2 значения и преобразовать их в полные дни.Но если у вас разница в более чем 1 год (как 2015 и 2019), то вам нужно подумать «если», что вы на самом деле пытаетесь сделать там.Вы не должны использовать DayOfYear, потому что в некоторых годах 366 дней, поэтому вы не можете быть уверены, что 364 соответствует 1 или 2 дням, оставшимся в этом году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...