将日期转换为日期时间对象python

将日期转换为日期时间对象python,python,sqlite,datetime,Python,Sqlite,Datetime,我有一个日期,我使用以下格式将其转换为iso格式: #createDate is fetched from a json output of an API createDate = device['createDate'] # Convert into iso format # Sample output value : 2014-11-13T16:23:19+00:00 create_date_utcFormat = dateparser.parse(createDate).astime

我有一个日期,我使用以下格式将其转换为iso格式:

#createDate is fetched from a json output of an API  
createDate = device['createDate']

# Convert into iso format
# Sample output value : 2014-11-13T16:23:19+00:00
create_date_utcFormat = dateparser.parse(createDate).astimezone(tz.tzutc()).isoformat()

当我尝试将此对象添加到DB时,我得到了
SQLite DateTime类型只接受Python DateTime和date对象作为输入。
如何将
create\u date\u utcFormat
转换为DateTime对象?

您有一个DateTime,但您使用
.isoformat()
将其转换回字符串。不要那样做。

对于这类问题,我会给你一个更一般的答案。如果您在匹配类型时遇到困难,有两件事确实有帮助:

  • 交互式调试
  • type()
  • 将以下内容提交到内存:

    导入pdb;pdb.set_trace()

    将这一行放在代码中的任何位置都会在脚本到达该点时暂停脚本的执行,并将您置于一个
    (pdb)
    提示符下,这类似于常规的python shell,只是您一次只能执行一行,并且有一些可用的命令(
    c
    for continue可能是需要了解的最重要的命令)


    在这里,您可以使用
    type()
    来确定对象和变量的类型,并有望发现Daniel在回答中所说的内容--
    type(dateparser.parse(createDate.astimezone(tz.tzutc())
    已经是
    datetime
    对象了。

    好眼力(自从我与python日期对象搏斗了一分钟之后),修复了!谢谢你指出这一点,这确实非常有用。但是我得到了
    TypeError:datetime.datetime(2014,11,13,16,23,19,tzinfo=tzutc())不是JSON可序列化的
    ,当我尝试将其存储在JSON对象中时。