时间问题

This commit is contained in:
luying
2022-08-29 16:39:07 +08:00
parent 9da78b5497
commit 0a57b2f00c
6 changed files with 14 additions and 10 deletions

View File

@@ -87,7 +87,7 @@ export async function limitPackageActivity(serverId: number, roleId: string, typ
export async function newPlayerActivityDays(roleId: string) { export async function newPlayerActivityDays(roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let createDate = moment(createTime * 1000).toDate(); let createDate = moment(createTime * 1000).toDate();
let todayIndex = deltaDays(moment(createDate).startOf('d').toDate(), new Date) + 1; let todayIndex = deltaDays(createDate, new Date, true) + 1;
return todayIndex; return todayIndex;
} }

View File

@@ -98,7 +98,7 @@ export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, s
export async function newPlayerActivityDays(roleId: string) { export async function newPlayerActivityDays(roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let createDate = moment(createTime * 1000).toDate(); let createDate = moment(createTime * 1000).toDate();
let todayIndex = deltaDays(moment(createDate).startOf('d').toDate(), new Date) + 1; let todayIndex = deltaDays(createDate, new Date, true) + 1;
return todayIndex; return todayIndex;
} }

View File

@@ -68,7 +68,7 @@ export class FirstGiftPage {
public setPlayerRecord(playerData: ActivityFirstGiftModelType) { public setPlayerRecord(playerData: ActivityFirstGiftModelType) {
if(playerData) { if(playerData) {
this.state = FIRST_GIFT_STATE.PAY; this.state = FIRST_GIFT_STATE.PAY;
this.todayIndex = deltaDays(moment(playerData.createdAt).startOf('d').toDate(), new Date) + 1; this.todayIndex = deltaDays(playerData.createdAt, new Date, true) + 1;
let daysNum = playerData.days||[]; let daysNum = playerData.days||[];
for (let obj of this.items) { for (let obj of this.items) {

View File

@@ -65,8 +65,8 @@ export class MonthlyTicketData extends ActivityBase {
this.cardEndTime = data.isForever? this.endTime: moment(data.endTime).valueOf(); this.cardEndTime = data.isForever? this.endTime: moment(data.endTime).valueOf();
if (data.isForever || moment(new Date).valueOf() < this.cardEndTime) { if (data.isForever || moment(new Date).valueOf() < this.cardEndTime) {
this.isOpen = true; this.isOpen = true;
this.todayIndex = deltaDays(moment(data.createdAt).startOf('d').add(REFRESH_TIME, 'h').toDate(), new Date) + 1; this.todayIndex = deltaDays(data.createdAt, new Date) + 1;
this.days = deltaDays(moment(data.createdAt).startOf('d').add(REFRESH_TIME, 'h').toDate(), new Date(this.cardEndTime)); this.days = deltaDays(data.createdAt, new Date(this.cardEndTime));
} else { } else {
this.todayIndex = 0; this.todayIndex = 0;
} }

View File

@@ -305,7 +305,7 @@ class Time {
public getAfterDayWithHour(day: number = 0, hour = REFRESH_TIME, minute = 0, seconds = 0) { public getAfterDayWithHour(day: number = 0, hour = REFRESH_TIME, minute = 0, seconds = 0) {
let t = this._setHour(this.time.getTime(), hour, minute, seconds, 0); let t = this._setHour(this.time.getTime(), hour, minute, seconds, 0);
// console.log(t.getTime(), this.time.getTime()); // console.log(t.getTime(), this.time.getTime());
if(this.time.getTime() >= t.getTime()) { if(this.time.getTime() > t.getTime()) {
let timestamp = t.getTime() + (day + 1) * this.DAY_TO_MS; let timestamp = t.getTime() + (day + 1) * this.DAY_TO_MS;
return this._returnResult(timestamp); return this._returnResult(timestamp);
} else { } else {

View File

@@ -118,10 +118,14 @@ export function decodeIdCntArrayStr(str: string, multi: number) {
* @param preTime 之前的时间 * @param preTime 之前的时间
* @param proTime 之后的时间 * @param proTime 之后的时间
*/ */
export function deltaDays(preTime: Date, proTime: Date): number { export function deltaDays(preTime: Date, proTime: Date, useNaturalZero = false): number {
let beginZeroPoint = getZeroPointOfTimeD(preTime); if(useNaturalZero) {
let endZeroPoint = getZeroPointOfTimeD(proTime); return moment(proTime).diff(moment(preTime), "days");
return moment(endZeroPoint).diff(moment(beginZeroPoint), "days"); } else {
let beginZeroPoint = getZeroPointOfTimeD(preTime);
let endZeroPoint = getZeroPointOfTimeD(proTime);
return moment(endZeroPoint).diff(moment(beginZeroPoint), "days");
}
} }
/** /**