У меня есть входной параметр MMDD-MMDD, и у меня есть один пример значения даты 10 ноября, поэтому теперь мне нужно проверить, попадает ли 10 ноября между MMDD-MMDD.
В настоящее время у меня есть код, который работает нормально, еслиформат подобен этому 0122-1123, но не работает для 1123-0122.
Итак, я сделал одно решение, но оно не работает.Когда диапазон дат перевернут (1123-0122), я добавлю год к обоим и добавлю плюс год к 0122, чтобы он стал с 23 ноября по 22 января 2020 года, но я выбрал одну дату (21 января 2009 года)тогда, очевидно, он не был выбран, не могли бы вы помочь мне с логикой, чтобы определить, попадает ли данная дата в диапазон или нет без использования года.
Date procDate = getProcessDateTime().getDate();
String dateRanges=getDateRange().trim();
int leftSetMonth = Integer.parseInt(dateRanges.substring(0, 2));
int leftSetDate = Integer.parseInt(dateRanges.substring(2, 4));
int rightSetMonth = Integer.parseInt(dateRanges.substring(5, 7));
int rightSetDate = Integer.parseInt(dateRanges.substring(7, 9));
Date leftCollectiveDate = new Date(procDate.getYear(), leftSetMonth, leftSetDate);
Date rightCollectiveDate = new Date(procDate.getYear(), rightSetMonth, rightSetDate);
if (leftCollectiveDate.isAfter(rightCollectiveDate)) {
rightCollectiveDate = new Date(procDate.getYear() + 1, rightSetMonth, rightSetDate);
}
if (leftCollectiveDate.isSameOrBefore(procDate) && rightCollectiveDate.isSameOrAfter(procDate)) {
result = Bool.TRUE;
return result;
}