UNPKG

@gameroom/kit

Version:

Node kit for the Gameroom API

37 lines (36 loc) 1.21 kB
module.exports = class SecondsFrom1970 extends Number { constructor(data) { if (data === null || data === undefined) data = Date.now() * 0.001 if (typeof data === 'string') data = new Date(data) if (data instanceof Date) data = data.getTime() * 0.001 super(data) } static equal(a, b) { return new SecondsFrom1970(a).toNumber() === new SecondsFrom1970(b).toNumber() } static now() { return new SecondsFrom1970() } equals(b) { return SecondsFrom1970.equal(this, b) } toDate() { return new Date(this * 1000) } toLocaleString() { return new Date(this * 1000).toLocaleString() } toLocaleDateString() { return new Date(this * 1000).toLocaleDateString() } toLocaleTimeString() { return new Date(this * 1000).toLocaleTimeString() } toNumber() { return this.toDate().getTime() } toTimestamp() { const date = new Date(this * 1000) return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, 0)}-${date.getDate().toString().padStart(2, 0)} ${date.getHours().toString().padStart(2, 0)}:${date.getMinutes().toString().padStart(2, 0)}:${date.getSeconds().toString().padStart(2, 0)}.${date.getMilliseconds()}` } }