asd*_*sdf 5 python mysql datetime-format timedelta python-datetime
我需要在mysql环境中存储正常运行时间。正常运行时间从几小时到一年以上不等。我正在考虑为MySQL使用DATETIME类型。我正在使用python,并且正常运行时间从
def convertdate(lastrestart):
# now in datetime
nowdt=datetime.now()
# last_restarted in datetime
lastrestarted_dt=datetime.strptime(lastrestart, "%Y-%m-%d %H:%M:%S")
# timedelta in datetime!
uptimeInDT=nowdt-lastrestarted_dt
#timedelta in seconds
secondsUptime=uptimeInDT.seconds
# string conversion wont work so much for a datetime field.
print str(uptimeInDT)
Run Code Online (Sandbox Code Playgroud)
这是完成这项工作的最好方法吗?我可以使用其他解决方案吗?mysql中的SEC_TO_TIME()的范围较小,无法正常工作,并且从sec到datetime没有任何功能。也许我应该节省时间并习惯这一点。谢谢
MySQL 不提供一流的 INTERVAL 类型,该类型将是 python 的timedelta.
因此,为了存储增量,我建议简单地将差值以秒为单位存储在一个足够大的整数字段中,以容纳您的最大预期值。
以“这么多天、小时、分钟等”显示增量 格式 - 这就是您似乎正在寻找的 - 我建议在客户端代码中这样做。 对象字符串化很好,或者您可以根据需要滚动自己的格式化程序。timedelta
如果您搜索尝试格式化间隔(“X 秒前”或“X 周前”)的人,您将看到相关的方法和工具包。