Я хотел получить количество недель и месяцев между двумя диапазонами дат в Java. . Для бывших, Дата начала: 03.01.2012 Дата окончания : 03/05/2012Неделя между двумя датами Java + Joda Time
Поскольку две даты приходятся на две разные недели я хочу, чтобы результат 2 вместо 0.
Вторая часть проблемы: Дата начала: 02/29/2012 Дата окончания: 03/01/2012
Количество месяцев между должно быть 2.
Я искал в Интернете об этом и многие люди рекомендовали использовать время Joda Date в Java. Поэтому я дал ему шанс. Мне удалось за неделю работать, но я не уверен, что это правильный путь. Вот то, что я делаю, чтобы получить продолжительность недели:
DateTime s = new DateTime(Long.parseLong("1330573027000")); // 2012-02-29
DateTime e = new DateTime(Long.parseLong("1331005027000")); // 2012-03-05
Weeks weeks = Weeks.weeksBetween(s, e).plus(1);
Это возвращает 1, когда я ожидаю 2 с момента два даты в разных неделях.
В течение нескольких месяцев я старался следовать за ним, но он возвращает 0, но я хочу, чтобы он вернулся 2, поскольку две даты находятся в двух разных месяцах.
Может ли кто-нибудь указать мне в правильном направлении?
Спасибо!
Edit: Я думаю, что есть один способ сделать это, пожалуйста, дайте мне знать, если она выглядит:
DateTime start = new DateTime(Long.parseLong("1330659427000"));
DateTime start = new DateTime(Long.parseLong("1331005027000"));
DateTime finalStart = start.dayOfWeek().withMinimumValue();
DateTime finalEnd = end.dayOfWeek().withMaximumValue();
А затем получить разницу между finalStart и finalEnd. Это выглядит правильно?
Edit2 Обновил время окончания
две разные недели? что, если даты говорят, «2012-02-29» и «2012-12-29», удовлетворяет две разные недели? вы смотрите на ответ = 2, также выше? – Narayan
Нет, в приведенном вами сценарии должно учитываться количество недель между двумя диапазонами дат. Таким образом, я хочу, чтобы это длилось между первым днем недели начальной даты и последним днем недели конечной даты. Таким образом, я получу 2, а не продолжительность только между двумя датами. – test123
в вашем примере, недели не в две разные недели, '2012-02-29' и' 2012-03-01' принадлежат к той же неделе! ваше требование не ясно! – Narayan