转换时间字符串并将其插入时间字段django的有效方法

Leo*_*nid 2 python django

例如,我有一个来自csv的输入,即08:00:00所以这是字符串类型.我在模型中有一个时间段.我需要在时间字段中插入该字符串.有没有一种有效的方法来转换它并将其插入时间段?我知道一些事情,但它有点像很长的路要走.

Aam*_*nan 5

您可以使用datetimepython模块进行转换

from datetime import datetime
t = '08:00:00'
t = datetime.strptime(t, '%H:%M:%S')
print t, type(t)
>>> 1900-01-01 08:00:00 <type 'datetime.datetime'>
Run Code Online (Sandbox Code Playgroud)

请注意,年,月,日将从此开始,1900-01-01因为字符串中没有可用的日期信息.


Tha*_*ran 5

TimeField 将接受 datetime.time 实例。因此,您需要为它提供一个时间对象

import datetime
a = YourModel()
a.YourTimeField = datetime.datetime.strptime('12:12:12', '%H:%M:%S').time()
a.save() 
Run Code Online (Sandbox Code Playgroud)