【问题标题】:Having issues checking time logs within sqlite在 sqlite 中检查时间日志时遇到问题
【发布时间】:2021-08-04 06:24:24
【问题描述】:

我已经在此发表了一些帖子,我现在正在正确比较时间戳,但在我的数据库中我没有注意到 xp 的更新。

我希望我的程序做的是检查存储在数据库中的时间的时间戳,更新它,然后在第一个时间戳之后一分钟更新体验

目前,我在 2 行中执行此操作,我假设我可以将其合并为一个,但我的另一个问题是,当它更新数据库时,它不会更新体验,而只会更新 xp_time 列。

        xp_update = (f"UPDATE xpdata SET xp_time = strftime('%s','now') WHERE user_id = {user_id} AND guild_id = {guild_id}")
        cursor.execute(xp_update)
        xp_update = (f"UPDATE xpdata SET xp = xp + {xp_inc} WHERE user_id = {user_id} AND guild_id = {guild_id} AND strftime('%s',xp_time) < strftime('%s','now','-59 seconds');")
        cursor.execute(xp_update)

我的数据库是什么样子的:

【问题讨论】:

    标签: python sqlite datetime discord discord.py


    【解决方案1】:

    为了解决这个问题,我使用了一种不同的方式来更新用户时间,而不是

    将用户时间设置为 strftime('%s', 'now') 我使用了 datetime 函数并调用了 now 参数,使其格式正确并且现在可以正常工作。

            xp_update = (f"UPDATE xpdata SET xp = {xp_grab} + {xp_inc} WHERE user_id = {user_id} AND guild_id = {guild_id} AND strftime('%s',xp_time) < strftime('%s','now','-59 seconds')")
            cursor.execute(xp_update)
    
            lvl_end = int(((xp_grab+xp_inc)//42) ** 0.55)
    
            time_update = (f"UPDATE xpdata SET xp_time = datetime('now') WHERE user_id = {user_id} AND guild_id = {guild_id} AND strftime('%s',xp_time) < strftime('%s','now','-59 seconds')")
    

    【讨论】:

      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2021-12-18
      相关资源
      最近更新 更多