在Django中高效地转换时间字符串并插入时间字段

5 投票
2 回答
5248 浏览
提问于 2025-04-17 13:38

举个例子,我有一个从csv文件里读取的输入,内容是08:00:00,这个是字符串类型的。然后我在模型里有一个时间字段。我需要把这个字符串放进时间字段里。有没有什么简单的方法可以把这个字符串转换成时间格式,然后放进去呢?我知道一些方法,但感觉有点复杂。

2 个回答

6

TimeField可以接收一个datetime.time的实例。所以,你需要做的就是给它提供一个时间对象。

import datetime
a = YourModel()
a.YourTimeField = datetime.datetime.strptime('12:12:12', '%H:%M:%S').time()
a.save() 
10

你可以使用Python的datetime模块来进行转换。

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'>

请注意,年份、月份和日期将从1900-01-01开始,因为字符串中没有日期信息。

撰写回答