Correct quarter calculations

This commit is contained in:
Hillel Coren 2021-09-11 23:45:25 +03:00
parent d8708c2192
commit 1c7d100413
1 changed files with 9 additions and 11 deletions

View File

@ -84,14 +84,13 @@ String calculateStartDate({
final date = addMonths(firstDayOfMonth, (1 + offset) * -1);
return convertDateTimeToSqlDate(date);
case DateRange.thisQuarter:
final monthOffset = today.month % 3 - 1;
final date =
addMonths(firstDayOfMonth, ((offset * 3) + monthOffset) * -1);
final monthOffset = (today.month - 1) % 3 * -1;
final date = addMonths(firstDayOfMonth, (offset * -3) + monthOffset);
return convertDateTimeToSqlDate(date);
case DateRange.lastQuarter:
final monthOffset = today.month % 3 + 2;
final monthOffset = (today.month - 1) % 3 * -1;
final date =
addMonths(firstDayOfMonth, ((offset * 3) + monthOffset) * -1);
addMonths(firstDayOfMonth, ((offset + 1) * -3) + monthOffset);
return convertDateTimeToSqlDate(date);
case DateRange.thisYear:
final date = addYears(firstDayOfYear, offset * -1);
@ -140,15 +139,14 @@ String calculateEndDate({
addMonths(firstDayOfMonth, offset * -1).subtract(Duration(days: 1));
return convertDateTimeToSqlDate(date);
case DateRange.thisQuarter:
final monthOffset = today.month % 3 - 1;
final date =
addMonths(firstDayOfMonth, (((offset - 1) * 3) + monthOffset) * -1)
.subtract(Duration(days: 1));
final monthOffset = (today.month - 1) % 3 * -1;
final date = addMonths(firstDayOfMonth, (offset * -3) + monthOffset + 3)
.subtract(Duration(days: 1));
return convertDateTimeToSqlDate(date);
case DateRange.lastQuarter:
final monthOffset = today.month % 3 + 2;
final monthOffset = (today.month - 1) % 3 * -1;
final date =
addMonths(firstDayOfMonth, (((offset - 1) * 3) + monthOffset) * -1)
addMonths(firstDayOfMonth, ((offset + 1) * -3) + monthOffset + 3)
.subtract(Duration(days: 1));
return convertDateTimeToSqlDate(date);
case DateRange.thisYear: