Python 3.x Python:如何将timedelta保存到MySQL
我想在python3.x中保存作业的持续时间,并将其保存到MySQL 5.7时间字段中Python 3.x Python:如何将timedelta保存到MySQL,python-3.x,Python 3.x,我想在python3.x中保存作业的持续时间,并将其保存到MySQL 5.7时间字段中 datetime.datetime.now() - datetime.datetime(2020, 5, 16, 15, 36, 52, 132454) 返回: datetime.timedelta(seconds=7635, microseconds=282960) 如何从该输出中检索秒数,以便将它们放入MySQL语句中?我会尝试这样做,以避免您看到的时区问题: import datetime as d
datetime.datetime.now() - datetime.datetime(2020, 5, 16, 15, 36, 52, 132454)
返回:
datetime.timedelta(seconds=7635, microseconds=282960)
如何从该输出中检索秒数,以便将它们放入MySQL语句中?我会尝试这样做,以避免您看到的时区问题:
import datetime as dt
import mysql.connector
total_seconds = dt.timedelta(seconds=7635, microseconds=282960).total_seconds()
conn = mysql.connector.connect(user='username', database='your_database')
cursor = conn.cursor()
cursor.execute("""INSERT INTO your_table
(your_time_field)
VALUES (SEC_TO_TIME(%s));""",(total_seconds,))
为了避免您看到的时区问题,我会尝试这样做:
import datetime as dt
import mysql.connector
total_seconds = dt.timedelta(seconds=7635, microseconds=282960).total_seconds()
conn = mysql.connector.connect(user='username', database='your_database')
cursor = conn.cursor()
cursor.execute("""INSERT INTO your_table
(your_time_field)
VALUES (SEC_TO_TIME(%s));""",(total_seconds,))
datetime.timedelta(秒=7635,微秒=282960)。总秒数()。我用insert:(datetime.datetime.now()-stats['start_time']).total_seconds()在我的时间字段中获得00:00:00,对,我删除了.total_seconds(),现在它在我的时间字段中工作。你只需要找出为什么现在有2小时的时间偏移:-)哦,我误解了你问题的最后一部分。我的错误。我想知道您是否可以在这里使用MySQL的secu TO TIME()函数。datetime.timedelta(秒=7635,微秒=282960)。total_seconds()
似乎不起作用。我用insert:(datetime.datetime.now()-stats['start_time']).total_seconds()在我的时间字段中获得00:00:00,对,我删除了.total_seconds(),现在它在我的时间字段中工作。你只需要找出为什么现在有2小时的时间偏移:-)哦,我误解了你问题的最后一部分。我的错误。我想知道你是否可以在这里使用MySQL的SEC_TO_TIME()函数。谢谢你的帮助。我现在去保存UTC,因为它似乎被推荐保存在DBS中,不客气。UTC现在似乎也解决了这个问题。谢谢你的帮助。我现在去保存UTC,因为它似乎被推荐保存在DBS中,不客气。UTC现在似乎也解决了这个问题。