@gameroom/kit
Version:
Node kit for the Gameroom API
37 lines (36 loc) • 1.21 kB
JavaScript
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()}`
}
}