import { TIME_FORMAT } from '../consts'; const PER_SECOND = 1 * 1000; const PER_DAY = 24 * 60 * 60; const PER_HOUR = 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; } /** * 获取几天以前(按秒获取) * @param day 几天以前 */ export function getBeforeDaySeconds(day: number) { let time = nowSeconds() - day * PER_DAY; return time; } export function getBeforeHourSeconds(hour: number) { let time = nowSeconds() - hour * PER_HOUR; return time; } export function getCurWeekDate(day: number, hour: number) { return getWeekDate(new Date(), day, hour); } export function getWeekDate(now: Date, day: number, hour: number){ //获得本周的开端日期 var nowDayOfWeek = now.getDay(); if(nowDayOfWeek == 0) nowDayOfWeek = 7; let nowDay = now.getDate(); let nowYear = now.getFullYear(); //当前年 let nowMonth = now.getMonth(); //月 return new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + day, hour); }; export function getCurWeekTime(day: number, hour: number) { let data = getWeekDate(new Date(), day, hour); return Math.floor(data.getTime()/PER_SECOND); } export function getHourPoint(hour: number) { var date = new Date(); date.setHours(hour); date.setMinutes(0); date.setSeconds(0); var time = Math.floor(date.getTime() / PER_SECOND); if (nowSeconds() < time) { return time - PER_DAY; } return time; } export function getCurHourPoint(hour: number) { var date = new Date(); date.setHours(hour); date.setMinutes(0); date.setSeconds(0); var time = Math.floor(date.getTime() / PER_SECOND); return time; } export function getTodayZeroDate() { var date = new Date(); date.setHours(0); date.setMinutes(0); date.setSeconds(0); return date; } export function getAge(birthday: string) { let d = new Date(birthday + ' 00:00:00'); let _year = d.getFullYear(); let _month = d.getMonth() + 1; let _day = d.getDate(); let age = 0; let now = new Date(); let year = now.getFullYear(); let month = now.getMonth() + 1; let day = now.getDate(); if (year >= _year && month >= _month && day >= _day) { age = year - _year; }else{ age = year - _year - 1; } return age } export function formatTime(d: Date, type: number) { let year = d.getFullYear(); let month = d.getMonth() + 1; let day = d.getDate(); let yearStr = year.toString(); let monthStr = month.toString(); let dayStr = day.toString(); if(type == TIME_FORMAT.TYPE_SLASH) { if(day < 10) dayStr = '0' + dayStr; if(month < 10) monthStr = '0' + monthStr; return `${yearStr}/${monthStr}/${dayStr}`; } }