diff --git a/dist/smarttime.classes.timestamp.d.ts b/dist/smarttime.classes.timestamp.d.ts index c62fd84..53fac22 100644 --- a/dist/smarttime.classes.timestamp.d.ts +++ b/dist/smarttime.classes.timestamp.d.ts @@ -8,11 +8,28 @@ export declare class TimeStamp { */ date: Date; /** - * The time as linux time + * The time as linux time (milliseconds, not seconds though) * good for comparison */ - linuxtime: number; - constructor(creatorArg?: number | TimeStamp); + milliSeconds: number; + /** + * The standard epoch time in seconds + */ + epochtime: number; + /** + * if derived from another TimeStamp points out the change in milliseconds + */ + change: number; + constructor(creatorArg?: number); + /** + * returns new TimeStamp from milliseconds + */ + static fromMilliSeconds(milliSecondsArg: any): TimeStamp; + /** + * returns new TimeStamp for now with change set + * @param timeStampArg + */ + static fromTimeStamp(timeStampArg: TimeStamp): TimeStamp; /** * Is the current instance older than the argument * @param TimeStampArg diff --git a/dist/smarttime.classes.timestamp.js b/dist/smarttime.classes.timestamp.js index 4038364..c9e1359 100644 --- a/dist/smarttime.classes.timestamp.js +++ b/dist/smarttime.classes.timestamp.js @@ -6,17 +6,40 @@ Object.defineProperty(exports, "__esModule", { value: true }); */ class TimeStamp { constructor(creatorArg) { + /** + * if derived from another TimeStamp points out the change in milliseconds + */ + this.change = null; if (!creatorArg) { this.date = new Date(); - this.linuxtime = this.date.getTime(); } + else if (typeof creatorArg === 'number') { + this.date = new Date(creatorArg); + } + this.milliSeconds = this.date.getTime(); + this.epochtime = Math.floor(this.milliSeconds / 1000); + } + /** + * returns new TimeStamp from milliseconds + */ + static fromMilliSeconds(milliSecondsArg) { + return new TimeStamp(milliSecondsArg); + } + /** + * returns new TimeStamp for now with change set + * @param timeStampArg + */ + static fromTimeStamp(timeStampArg) { + let localTimeStamp = new TimeStamp(); + localTimeStamp.change = localTimeStamp.milliSeconds - timeStampArg.milliSeconds; + return localTimeStamp; } /** * Is the current instance older than the argument * @param TimeStampArg */ isOlderThan(TimeStampArg) { - if (this.linuxtime < TimeStampArg.linuxtime) { + if (this.milliSeconds < TimeStampArg.milliSeconds) { return true; } else { @@ -24,7 +47,7 @@ class TimeStamp { } } isYoungerThan(TimeStampArg) { - if (this.linuxtime > TimeStampArg.linuxtime) { + if (this.milliSeconds > TimeStampArg.milliSeconds) { return true; } else { @@ -33,4 +56,4 @@ class TimeStamp { } } exports.TimeStamp = TimeStamp; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0aW1lLmNsYXNzZXMudGltZXN0YW1wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR0aW1lLmNsYXNzZXMudGltZXN0YW1wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHO0FBQ0g7SUFXRSxZQUFhLFVBQStCO1FBQzFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFFLFlBQXVCO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQTtRQUNiLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBRSxZQUF1QjtRQUNwQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsS0FBSyxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJDRCw4QkFxQ0MifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0aW1lLmNsYXNzZXMudGltZXN0YW1wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR0aW1lLmNsYXNzZXMudGltZXN0YW1wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHO0FBQ0g7SUFzQkUsWUFBYSxVQUFtQjtRQUxoQzs7V0FFRztRQUNILFdBQU0sR0FBVyxJQUFJLENBQUE7UUFHbkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUN4QixDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBRSxlQUFlO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBRSxZQUF1QjtRQUMzQyxJQUFJLGNBQWMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFBO1FBQ3BDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFBO1FBQy9FLE1BQU0sQ0FBQyxjQUFjLENBQUE7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBRSxZQUF1QjtRQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsS0FBSyxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUUsWUFBdUI7UUFDcEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFwRUQsOEJBb0VDIn0= \ No newline at end of file diff --git a/ts/smarttime.classes.timestamp.ts b/ts/smarttime.classes.timestamp.ts index fc1e1dd..810b037 100644 --- a/ts/smarttime.classes.timestamp.ts +++ b/ts/smarttime.classes.timestamp.ts @@ -11,15 +11,46 @@ export class TimeStamp { date: Date /** - * The time as linux time + * The time as linux time (milliseconds, not seconds though) * good for comparison */ - linuxtime: number - constructor (creatorArg?: number | TimeStamp) { + milliSeconds: number + + /** + * The standard epoch time in seconds + */ + epochtime: number + + /** + * if derived from another TimeStamp points out the change in milliseconds + */ + change: number = null + + constructor (creatorArg?: number) { if (!creatorArg) { this.date = new Date() - this.linuxtime = this.date.getTime() + } else if (typeof creatorArg === 'number') { + this.date = new Date(creatorArg) } + this.milliSeconds = this.date.getTime() + this.epochtime = Math.floor(this.milliSeconds / 1000) + } + + /** + * returns new TimeStamp from milliseconds + */ + static fromMilliSeconds (milliSecondsArg) { + return new TimeStamp(milliSecondsArg) + } + + /** + * returns new TimeStamp for now with change set + * @param timeStampArg + */ + static fromTimeStamp (timeStampArg: TimeStamp) { + let localTimeStamp = new TimeStamp() + localTimeStamp.change = localTimeStamp.milliSeconds - timeStampArg.milliSeconds + return localTimeStamp } /** @@ -27,7 +58,7 @@ export class TimeStamp { * @param TimeStampArg */ isOlderThan (TimeStampArg: TimeStamp) { - if (this.linuxtime < TimeStampArg.linuxtime) { + if (this.milliSeconds < TimeStampArg.milliSeconds) { return true } else { return false @@ -35,7 +66,7 @@ export class TimeStamp { } isYoungerThan (TimeStampArg: TimeStamp) { - if (this.linuxtime > TimeStampArg.linuxtime) { + if (this.milliSeconds > TimeStampArg.milliSeconds) { return true } else { return false