export class DateTime { public static fromEpochTime(time: number): DateTime { return new DateTime(time * 1000); } public static fromDate(date: Date): DateTime { return new DateTime(date.getTime()); } public static now(): DateTime { return new DateTime(Date.now()); } constructor(private time: number = Date.now()) {} public toEpochTime(): number { return Math.floor(this.time / 1000); } public getTime(): number { return this.time; } public lessThan(value: DateTime) { return this.time < value.getTime(); } public clone() { return new DateTime(this.time); } public addTime(value: number) { this.time += value; return this; } }