132 lines
3.3 KiB
TypeScript
132 lines
3.3 KiB
TypeScript
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}`;
|
|
}
|
|
} |