Browse Source

fix: creating wrong dates when timezone is utc-

pull/9753/head
bnymncoskuner 5 years ago
parent
commit
7698f67a9e
  1. 15
      npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts

15
npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts

@ -7,9 +7,15 @@ export class DateAdapter extends NgbDateAdapter<string> {
fromModel(value: string | Date): NgbDateStruct | null { fromModel(value: string | Date): NgbDateStruct | null {
if (!value) return 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 { return {
day: date.getDate(), day: date.getDate(),
@ -26,4 +32,9 @@ export class DateAdapter extends NgbDateAdapter<string> {
return formattedDate; return formattedDate;
} }
protected dateOf(value: string): Date {
let dateUtc = new Date(Date.parse(value));
return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000));
}
} }

Loading…
Cancel
Save