[英]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.