export const ONE_DAY = 24 * 60 * 60 * 1000 // format the date to the format we want export const formatDate = (date: Date): string => { const year = date.getUTCFullYear() const month = (date.getUTCMonth() + 1 + '').padStart(2, '0') const day = (date.getUTCDate() + '').padStart(2, '0') return `${year}${month}${day}` } // get formated datestring of yesterday export const yesterday = (date?: Date) => { date = date || new Date() date.setUTCDate(date.getUTCDate() - 1) return date } export const nextday = (date?: Date) => { date = date || new Date() date.setUTCDate(date.getUTCDate() + 1) return date } // calc days between two Date export function daysBetween(date1: Date, date2: Date) { // hours*minutes*seconds*milliseconds const diffInMs = Math.abs(date1.getTime() - date2.getTime()) const diffInDays = Math.round(diffInMs / ONE_DAY) return diffInDays } // get begin of one day export const getDayBegin = (date: Date): Date => { let result = new Date(date.getTime()) result.setUTCHours(0, 0, 0, 0) return result } // get begin of n day ago export const getNDayAgo = (n: number, begin: boolean): Date => { const date = new Date(Date.now() - n * ONE_DAY) if (begin) { return getDayBegin(date) } else { return date } } // get begin of this month export const getMonthBegin = (date: Date): Date => { const year = date.getUTCFullYear() const month = date.getUTCMonth() return new Date(year, month, 1) }