游戏倒计时的问题

为了实现每日清除、每周数据清除逻辑,游戏一般有一个倒计时的逻辑,这个逻辑会产生的问题是:

  1. 倒计时结束的时候,是[23:59:59,0:0:1]之间的数值;
  2. 如果是在前一天结束,则数据逻辑中,如果涉及到根据日期判定的逻辑,就可能会出错,比如根据当前日期变更进行签到、月卡等;
  3. 如果是在后一天结束,则在[0:0:0,结束时间]这段时间下线的玩家,数据就会得不到清除;

解决方式:

  1. 现在采用的方式是,在数据进行清除的时候,设置一个清除日期,根据日期进行判定,这个昨天是否没有被更新数据
  2. 还是使用倒计时的方式,倒计时的方式,将时间往后推迟1秒,这样,结束的时候,肯定已经是第二天了
原文地址:https://www.cnblogs.com/bornfish/p/3941274.html