diff --git a/src/services/queryRunner.service.ts b/src/services/queryRunner.service.ts index 044708f409d169f07a339ea2774a9e17ec241121..b9fffafffcfac6cdffe77a633b6b1baaa9a87991 100644 --- a/src/services/queryRunner.service.ts +++ b/src/services/queryRunner.service.ts @@ -111,25 +111,29 @@ export default class QueryRunner { timePeriod: TimePeriod, timeStep: TimeStep ) { - // increase timeperiod range because the last data for a day is actually stored the next day at 00:00 if (timeStep === TimeStep.HALF_AN_HOUR) { + // increase timeperiod range because the last data for a day is actually stored the next day at 00:00 timePeriod.startDate = timePeriod.startDate.plus({ minutes: 30 }) timePeriod.endDate = timePeriod.endDate.plus({ minutes: 30 }) } - const filteredResult = data.data.filter((entry: any) => - this.withinDateBoundaries( + + const filteredResult = data.data.filter((entry: any) => { + // added ternary expression to not send to withinDateBoundaries an hour different than zero when not in half-hour mode + const hour = timeStep === TimeStep.HALF_AN_HOUR ? entry.hour : 0 + const min = timeStep === TimeStep.HALF_AN_HOUR ? entry.minute : 0 + return this.withinDateBoundaries( DateTime.local( entry.year, entry.month || 1, entry.day || 1, - entry.hour, - entry.minute + hour, + min ).setZone('utc', { keepLocalTime: true, }), timePeriod ) - ) + }) return filteredResult }