2012-04-17 43 views
5

Tôi có một biểu mẫu có các trình đơn thả xuống đầy đủ thời gian, được biểu thị bằng các đối tượng datetime.time.Python: serializing/deserializing datetime.time

Cách tốt nhất để tuần tự hóa đối tượng là gì? ví dụ:

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

Và sau đó deserialize nó ở đầu bên kia? ví dụ:

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

Trả lời

5

Nếu bạn repr một đối tượng datetime.time, Python cung cấp cho bạn isoformat. Như repr s cố gắng để được phiên bản serialized của các đối tượng của họ, đó là một dấu hiệu tốt đó là giá trị bạn nên sử dụng.

import datetime 

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

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