diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts index 4449bae024..17db36415e 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts @@ -7,9 +7,15 @@ export class DateAdapter extends NgbDateAdapter { fromModel(value: string | Date): NgbDateStruct | null { if (!value) return null; - const date = new Date(value); + let date: Date; - if (isNaN((date as unknown) as number)) return null; + if (typeof value === 'string') { + date = this.dateOf(value); + } else { + date = new Date(value); + } + + if (isNaN(date as unknown as number)) return null; return { day: date.getDate(), @@ -26,4 +32,9 @@ export class DateAdapter extends NgbDateAdapter { return formattedDate; } + + protected dateOf(value: string): Date { + const dateUtc = new Date(Date.parse(value)); + return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000)); + } }