首页 > 解决方案 > Python:如何将 timedelta 保存到 MySQL

问题描述

我想在 python3.x 中保存作业的持续时间并将其保存到 MySQL 5.7 时间字段。

datetime.datetime.now() - datetime.datetime(2020, 5, 16, 15, 36, 52, 132454)

返回:

datetime.timedelta(seconds=7635, microseconds=282960)

如何从此输出中检索秒数以便将它们放入我的 MySQL 语句中?

标签: python-3.x

解决方案


我会尝试这样的事情来避免您看到的时区问题:

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,))

推荐阅读