如何从python datetime.time字段中获取小时整数
我有一个datetime.time字段,它等于3:00 如何从该对象中获取3作为整数 我试过:如何从python datetime.time字段中获取小时整数,python,django,datetime,Python,Django,Datetime,我有一个datetime.time字段,它等于3:00 如何从该对象中获取3作为整数 我试过: transaction_time = form.cleaned_data['transaction_time'] print transaction_time.hour 我得到一个错误: “unicode”对象没有属性“hour” 似乎事务时间是unicode类型的。您可以使用字符串操作获取hour parttransaction\u time[0]或将其键入datetime并获取hour。根据文档
transaction_time = form.cleaned_data['transaction_time']
print transaction_time.hour
我得到一个错误:
“unicode”对象没有属性“hour”
似乎事务时间是unicode类型的。您可以使用字符串操作获取hour parttransaction\u time[0]或将其键入datetime并获取hour。根据文档: 如果某个字段的required=False,并且您传递了一个空值, 然后clean将返回一个规范化的空值,而不是提升 验证错误。对于CharField,这将是一个Unicode空字符串。 对于其他字段类,可能没有。这因场地而异 场 正如Arun提到的,我通过字符串操作来确定时间:
def set_hour_for_date(customer, hour_str, transaction_date):
meridian = hour_str[-2:]
hour = int(hour_str[:2])
if meridian == 'PM':
hour = hour + 12
relative_time = customer.time_zone.localize(datetime(
transaction_date.year,
transaction_date.month,
transaction_date.day,
hour,
0,
0,
294757))
return relative_time
transaction_time不是时间对象,它是unicode,因此首先使用strTime将其转换为结构时间,然后获取字段tm_hour
from time import strptime
t = strptime(form.cleaned_data['transaction_time'], '%H:%M')
print t.tm_hour
你有没有试着先找个约会时间?