const PER_SECOND = 1 * 1000; const PER_DAY = 24 * 60 * 60; export function getSeconds(time: Date) { return Math.floor(time.getTime() / PER_SECOND); } export function nowSeconds() { return Math.floor(Date.now() / PER_SECOND ); } export function getTodayZeroPoint() { var date = new Date(); date.setHours(0); date.setMinutes(0); date.setSeconds(0); var time = Math.floor(date.getTime() / PER_SECOND); return time; } export function checkTodayTime(seasonEndTime: number) { if (seasonEndTime - nowSeconds() <= PER_DAY) { return true; } return false; } export function getBeforeDayDate(day: number) { let time = getTodayZeroPoint() - day * PER_DAY; return time; } /** * 获取 x天后的y点 * @param curTime 现在时间 * @param hour 几点刷新 */ export function getRefTime(now = new Date(), checkHour: number, day = 0) { let curTime = new Date(now.getTime()); if (checkHour < 0) { checkHour = 24 + checkHour; if (curTime.getHours() >= checkHour) { curTime.setDate(curTime.getDate() + 1); } } else { if (curTime.getHours() < checkHour) { curTime.setDate(curTime.getDate() - 1); } } let today = curTime.setHours(checkHour, 0, 0, 0);; return new Date(today + day * 24 * 60 * 60 * 1000); }