我有...
entity = simplejson.dumps({"a":unicode(datetime.datetime.utcnow())})
如何将日期时间(已转换为 unicode)再次转换回日期时间?
这样我就可以做类似...
entity2 = simplejson.loads(entity)
#your answer here..
add5 = entity2["a"] + datetime.timedelta(minutes=5)
谢谢!
我有...
entity = simplejson.dumps({"a":unicode(datetime.datetime.utcnow())})
如何将日期时间(已转换为 unicode)再次转换回日期时间?
这样我就可以做类似...
entity2 = simplejson.loads(entity)
#your answer here..
add5 = entity2["a"] + datetime.timedelta(minutes=5)
谢谢!
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
在序列化之前执行以下操作:
time = datetime.strftime(time, DATETIME_FORMAT)
反序列化后执行以下操作:
time = datetime.strptime(time, DATETIME_FORMAT)
例子:
>>> from datetime import datetime
>>> DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
>>> time = datetime.now()
>>> time
datetime.datetime(2011, 5, 5, 3, 1, 45, 646302)
>>> time = time.strftime(DATETIME_FORMAT)
>>> time
'2011-05-05 03:01:45'
>>> import json
>>> time = json.loads(json.dumps(time))
>>> time
'2011-05-05 03:01:45'
>>> time = datetime.strptime(time, DATETIME_FORMAT)
>>> time
datetime.datetime(2011, 5, 5, 3, 1, 45)
如果您觉得这有点不雅,您可以考虑使用自定义 json 编码器/解码器。我个人已经尝试过默认 json 包中的那些,但放弃了用神秘的错误消息拉我的头发。如果你走这条路,我可能会推荐第三方 json 包。
dt = datetime.datetime.strptime(entity2['a'], '%Y-%m-%d %H:%M:%S.%f')