-
Notifications
You must be signed in to change notification settings - Fork 4
实现一个每天更新玩家数据的方法
ilvxna edited this page Aug 7, 2018
·
1 revision
思路: 1.在数据库中存放一个上一次登录时间。 2.通过比较上一次登录时间和这一次登录时间相差天数是不是大于1,如果大于1则执行每天更新数据的方法。如果小于1则不执行。
注:思路比较简单,还有更好的方法,欢迎在帖子中留言讨论。
源码:
def onEntitiesEnabled(self):
"""
KBEngine method.
该entity被正式激活为可使用, 此时entity已经建立了client对应实体, 可以在此创建它的
cell部分。
"""
localtime = time.localtime(time.time())
if self.lasttime != 0:
"""
处理时间数据
"""
lasttime = self.lasttime
"""
注://表示整除
"""
lastYear = lasttime // 10000
lastMonth = lasttime %10000 // 100
lastDay = lasttime % 100
lastDate = datetime.datetime(lastYear ,lastMonth,lastDay)
nowYear = int(localtime[0])
nowMonth = int(localtime[1])
nowDay = int(localtime[2])
nowDate = datetime.datetime(nowYear,nowMonth,nowDay)
"""
上一次登录和现在差距多少天
"""
dDays = (nowDate - lastDate).days
"""
判断是否在同一天
"""
if dDays >= 1:
self.refreshValueByDay()
"""
判断是否在同一周
"""
if dDays >=7:
self.refreshValuseByWeek()
"""
更新登录时间
"""
self.lasttime = int(localtime[0])*10000+int(localtime[1])*100+int(localtime[2])