t0n
Version:
Collection of elegant typescript resources for web artisans
43 lines (34 loc) • 1.1 kB
text/typescript
export class Timestamp {
static timestamp(date: number | Date | null = null): number {
if (date === null || date === undefined) {
return 0
} else if (typeof date === 'number') {
return date
} else if (date instanceof Date) {
return Math.floor(date.getTime() / 1000)
}
return 0
}
static minuteToSecond(date: number | Date | null = null): number {
return Timestamp.timestamp(date) || Math.floor(Date.now() / 1000)
}
static strToDate(str: string): Date {
return new Date(str)
}
static now(): number {
return Date.now() / 1000 | 0 // limited up to 32 bits - until 2038
// return Math.floor(Date.now() / 1000)
}
static addSeconds(timestamp: number, seconds: number): number {
return timestamp + seconds
}
static addMinutes(timestamp: number, minutes: number): number {
return timestamp + (minutes * 60)
}
static addHours(timestamp: number, hours: number): number {
return timestamp + (hours * 3600)
}
static addDays(timestamp: number, days: number): number {
return timestamp + (days * 86400)
}
}