繁体   English   中英

Python:序列化/反序列化 datetime.time

[英]Python: serializing/deserializing datetime.time

我有一个带有充满时间的下拉列表的表单,用 datetime.time 对象表示。

序列化 object 的最佳方法是什么? 例如:

<option value="${time.serialize()}">${time.isoformat()}</option>

然后在另一端反序列化它? 例如:

time = datetime.time.deserialize(request.params['time'])

如果您重新repr datetime.time对象,Python会为您提供isoformat repr试图成为其对象的序列化版本时,这是一个很好的指示,它是你应该使用的价值。

import datetime

timestring = datetime.datetime.now().time().isoformat()

timeobj = datetime.datetime.strptime(timestring, "%H:%M:%S.%f").time()

在 Python 3.6 和更新版本中,您可以使用datetime.time.isoformat function 进行序列化,在 Python 3.7 和更新版本中,您可以使用datetime.time.fromisoformat function 进行反序列化。 所以它看起来像这样

import datetime
time_string = datetime.datetime.now().time().isoformat()
time_obj = datetime.time.fromisoformat(time_string)

并用datetime时间而不是time来做到这一点,它看起来像

import datetime
datetime_string = datetime.datetime.now().isoformat()
datetime_obj = datetime.datetime.fromisoformat(datetime_string)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM