Python 在SQL中存储结构时间

Python 在SQL中存储结构时间,python,sql,Python,Sql,我用Python编写的一些代码以struct_time格式(带有9个参数)从服务器接收日期 如何将此日期存储在SQL数据库中,并能够将此日期作为结构时间读回,同时保留时区和来自结构时间的所有其他信息 我尝试将结构时间直接放在SQL中 struct_date = time.struct_time(tm_year=2020, tm_mon=9, tm_mday=10, tm_hour=22, tm_min=31, tm_sec=4, tm_wday=3, tm_yday=254, tm_isdst=

我用Python编写的一些代码以struct_time格式(带有9个参数)从服务器接收日期

如何将此日期存储在SQL数据库中,并能够将此日期作为结构时间读回,同时保留时区和来自结构时间的所有其他信息

我尝试将结构时间直接放在SQL中

struct_date = time.struct_time(tm_year=2020, tm_mon=9, tm_mday=10, tm_hour=22, tm_min=31, tm_sec=4, tm_wday=3, tm_yday=254, tm_isdst=0)
cursor.execute("UPDATE dbo.RSS_Links SET last_update=? WHERE link=?;", struct_date, links)
> "A TVP's rows must be Sequence objects.", 'HY000'
我可以使用下面的命令将时间放入数据库,但我看不出在转换为strftime时时区保留在哪里

date_to_store = time.strftime("%Y-%m-%d %H:%M:%S", struct_date)

我强烈建议您(按此特定顺序)执行以下操作之一:

  • 使用内置日期时间数据类型,并将所有日期存储在UTC中
  • 使用LONG/BIGINT类型在历元中存储日期
  • 使用可以存储时区信息的内置日期时间格式
  • 不要将日期存储为字符串,不要将其与struct_time或任何其他struct/类耦合,以后会后悔:)


    您的应用程序应该有一个数据层,用于处理数据序列化/反序列化。

    这是什么版本的python?我在Python3.6中得到了这一点:
    TypeError:structseq()最多接受2个参数(给定9个)
    Python3.8。请参阅更新的帖子,其中有一些错误我认为需要用元组来实例化:
    struct_date=time.struct_time((2020,9,10,22,31,4,3,254,0))