From 7698f67a9e2a7f1af26116d830ca2666a65be880 Mon Sep 17 00:00:00 2001 From: bnymncoskuner Date: Thu, 5 Aug 2021 07:40:36 -0500 Subject: [PATCH 1/2] fix: creating wrong dates when timezone is utc- --- .../extensions/src/lib/adapters/date.adapter.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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..e5846c0ece 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 { + let dateUtc = new Date(Date.parse(value)); + return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000)); + } } From 360937787b33aa31477538f7fc7607c686897a63 Mon Sep 17 00:00:00 2001 From: bnymncoskuner Date: Thu, 5 Aug 2021 07:48:38 -0500 Subject: [PATCH 2/2] fix: linting issue in date-adapter --- .../theme-shared/extensions/src/lib/adapters/date.adapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e5846c0ece..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 @@ -34,7 +34,7 @@ export class DateAdapter extends NgbDateAdapter { } protected dateOf(value: string): Date { - let dateUtc = new Date(Date.parse(value)); + const dateUtc = new Date(Date.parse(value)); return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000)); } }