Browse Source

Date fixes

pull/85/head
Sebastian Stehle 9 years ago
parent
commit
9447e9ce47
  1. 4
      src/Squidex/app/framework/utils/date-time.spec.ts
  2. 20
      src/Squidex/app/framework/utils/date-time.ts
  3. 4
      src/Squidex/app/shared/services/usages.service.ts

4
src/Squidex/app/framework/utils/date-time.spec.ts

@ -110,14 +110,14 @@ describe('DateTime', () => {
});
it('should calculate valid first of week', () => {
const actual = DateTime.parseISO_UTC('2013-10-16T12:13:14.125').date.firstOfWeek();
const actual = DateTime.parseISO_UTC('2013-10-16T12:13:14.125').firstOfWeek();
const expected = DateTime.parseISO_UTC('2013-10-14T00:00:00');
expect(actual).toEqual(expected);
});
it('should calculate valid first of month', () => {
const actual = DateTime.parseISO_UTC('2013-10-16T12:13:14.125').date.firstOfMonth();
const actual = DateTime.parseISO_UTC('2013-10-16T12:13:14.125').firstOfMonth();
const expected = DateTime.parseISO_UTC('2013-10-01');
expect(actual.toISOString()).toEqual(expected.toISOString());

20
src/Squidex/app/framework/utils/date-time.ts

@ -73,11 +73,11 @@ export class DateTime {
}
public static tomorrow(): DateTime {
return DateTime.now().addDays(1).date;
return DateTime.today().addDays(1);
}
public static yesterday(): DateTime {
return DateTime.now().addDays(-1).date;
return DateTime.today().addDays(-1);
}
public static parseMSDate(value: string): DateTime {
@ -118,7 +118,7 @@ export class DateTime {
const parsedMoment = moment.utc(value, format);
if (parsedMoment.isValid()) {
return new DateTime(new Date(parsedMoment.valueOf()));
return new DateTime(parsedMoment.toDate());
} else {
throw `${value} is not a valid date time string`;
}
@ -153,9 +153,9 @@ export class DateTime {
}
public firstOfWeek(): DateTime {
const weekStart = new Date(this.value.valueOf() - (this.weekDay - 1) * 86400000);
const date = this.date;
return new DateTime(weekStart);
return date.addDays(-date.value.getUTCDay() + 1);
}
public firstOfMonth(): DateTime {
@ -167,7 +167,7 @@ export class DateTime {
public addYears(value: number): DateTime {
const clone = this.cloneDate();
clone.setFullYear(clone.getUTCFullYear() + value, clone.getUTCMonth(), clone.getUTCDay());
clone.setUTCFullYear(clone.getUTCFullYear() + value, clone.getUTCMonth(), clone.getUTCDay());
return new DateTime(clone);
}
@ -175,7 +175,7 @@ export class DateTime {
public addMonths(value: number): DateTime {
const clone = this.cloneDate();
clone.setMonth(clone.getUTCMonth() + value, clone.getUTCDate());
clone.setUTCMonth(clone.getUTCMonth() + value, clone.getUTCDate());
return new DateTime(clone);
}
@ -183,7 +183,7 @@ export class DateTime {
public addDays(value: number): DateTime {
const clone = this.cloneDate();
clone.setDate(clone.getUTCDate() + value);
clone.setUTCDate(clone.getUTCDate() + value);
return new DateTime(clone);
}
@ -228,6 +228,10 @@ export class DateTime {
return moment(this.value).format(format);
}
public toUTCStringFormat(format: string): string {
return moment.utc(this.value).format(format);
}
public toFromNow(): string {
return moment.utc(this.value).fromNow();
}

4
src/Squidex/app/shared/services/usages.service.ts

@ -80,7 +80,7 @@ export class UsagesService {
}
public getCallsUsages(app: string, fromDate: DateTime, toDate: DateTime): Observable<CallsUsageDto[]> {
const url = this.apiUrl.buildUrl(`api/apps/${app}/usages/calls/${fromDate.toStringFormat('YYYY-MM-DD')}/${toDate.toStringFormat('YYYY-MM-DD')}`);
const url = this.apiUrl.buildUrl(`api/apps/${app}/usages/calls/${fromDate.toUTCStringFormat('YYYY-MM-DD')}/${toDate.toUTCStringFormat('YYYY-MM-DD')}`);
return HTTP.getVersioned(this.http, url)
.map(response => {
@ -97,7 +97,7 @@ export class UsagesService {
}
public getStorageUsages(app: string, fromDate: DateTime, toDate: DateTime): Observable<StorageUsageDto[]> {
const url = this.apiUrl.buildUrl(`api/apps/${app}/usages/storage/${fromDate.toStringFormat('YYYY-MM-DD')}/${toDate.toStringFormat('YYYY-MM-DD')}`);
const url = this.apiUrl.buildUrl(`api/apps/${app}/usages/storage/${fromDate.toUTCStringFormat('YYYY-MM-DD')}/${toDate.toUTCStringFormat('YYYY-MM-DD')}`);
return HTTP.getVersioned(this.http, url)
.map(response => {

Loading…
Cancel
Save