时间:整理时间方法
This commit is contained in:
+6
-29
@@ -4,10 +4,10 @@ import { HeroModel, HeroType } from '../db/Hero';
|
||||
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR } from '../consts';
|
||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, TIME_OUTPUT_TYPE, REFRESH_TIME } from '../consts';
|
||||
|
||||
import { findIndex } from 'underscore';
|
||||
import { getWeekDate } from './timeUtil';
|
||||
import { getTimeFunM } from './timeUtil';
|
||||
import { Floor } from '../domain/activityField/gachaField';
|
||||
const randomName = require("chinese-random-name");
|
||||
const moment = require('moment');
|
||||
@@ -130,7 +130,7 @@ export function deltaDays(preTime: Date, proTime: Date): number {
|
||||
* @param hour 几点刷新
|
||||
* @param deltaDay 间隔几天刷新,默认每天刷新(deltaDay = 1)
|
||||
*/
|
||||
export function shouldRefresh(preTime: Date, now: Date, hour: number, deltaDay = 1): boolean {
|
||||
export function shouldRefresh(preTime: Date, now: Date, hour: number = REFRESH_TIME, deltaDay = 1): boolean {
|
||||
if (!preTime) return true;
|
||||
let curTime = new Date(now.getTime());
|
||||
let refreshTime = new Date(now.getTime());
|
||||
@@ -151,40 +151,17 @@ export function shouldRefresh(preTime: Date, now: Date, hour: number, deltaDay =
|
||||
* @param hour 几点刷新
|
||||
* @param deltaDay 间隔几天刷新,默认每天刷新(deltaDay = 1)
|
||||
*/
|
||||
export function shouldRefreshWeek(preTime: Date, now: Date, day: number, hour: number, deltaWeek = 1): boolean {
|
||||
export function shouldRefreshWeek(preTime: Date, now: Date, day: number = 1, hour: number = REFRESH_TIME, deltaWeek = 1): boolean {
|
||||
if (!preTime) return true;
|
||||
let curTime = new Date(now.getTime());
|
||||
let refreshTime = getWeekDate(now, day, hour);
|
||||
let refeshTime = refreshTime.getTime();
|
||||
let refreshTime = <number>getTimeFunM(now).getTimeWithWeek(day, hour);
|
||||
|
||||
if (refeshTime - preTime.getTime() > (deltaWeek >= 1 ? deltaWeek - 1 : 0) * 7 * 24 * 60 * 60 * 1000 && curTime.getTime() >= refeshTime) {
|
||||
if (refreshTime - preTime.getTime() > (deltaWeek >= 1 ? deltaWeek - 1 : 0) * 7 * 24 * 60 * 60 * 1000 && curTime.getTime() >= refreshTime) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从一个数组中随机返回不重复的 cnt 个元素数组
|
||||
* @param source 原数组
|
||||
|
||||
Reference in New Issue
Block a user