最近快年底了,发现游戏当中的一个逻辑bug。。周排行榜发奖的问题
def getCurWeek(self):
return int(time.strftime("%W"))
def getLastWeek(self):
t = int(time.time()) - 7 * 86400
tmObject = time.localtime(t)
lastweek = time.strftime("%W",tmObject)
return int(lastweek)
2020-12-31是周四 利用 time.strftime("%W") 返回的应该是 53,
2021-01-01是周五 利用 time.strftime("%W") 返回的应该是 0
2021-01-04是周一 利用 time.strftime("%W") 返回的应该是 1
现实当中 2020-12-28 ------2021-01-04 才是真正的一周 2021-01-01 这天凌晨 不应该给游戏中的周排行榜发奖励,01-04才是发奖的时候。
看了已有代码的逻辑 2021-01-01 和 2021-01-04 这2天都会开奖,不符合游戏规则。。。。
参考getLastWeek() 代码稍加改动就好了,获取周一这一天的某一个时间戳就好了。。。。
def getCurWeek(self):
cur_wday = time.localtime().tm_wday
t = int(time.time()) - cur_wday * 86400
tmObject = time.localtime(t)
curweek = time.strftime("%W",tmObject)
return int(curweek)