我正在做a chatbot to book rooms。我创建了一个函数来检查在数据库中查找的房间是否空闲。在某些时候,我尝试将from_pendulum_to_tupple(day_startinghour)
的{{1}}实例转换为day_startinghour
2019-04-18T14:00:00+00:00
但是我有一个AttributeError: def from_pendulum_to_tupple(date):
print("date: ")
print(date)
print("type : " + str(type(date)))
year = date.year
month = date.month
day = date.day
hour = date.hour
minute = date.minute
return (year, month, day, hour, minute)
对象没有属性str
。确实,错误消息是:
文件 “ C:\ Users \ antoi \ Documents \ Programming \ Nathalie \ 18_2_2019 \ starter-pack-rasa-stack \ actions.py”, 43行 booking_answer = make_a_booking(名称房间,日期,小时开始时间,持续时间) 文件“ C:\ Users \ antoi \ Documents \ Programming \ Nathalie \ 18_2_2019 \ starter-pack-rasa-stack \ booking.py”, 第94行,在make_a_booking中 room_available = is_the_room_available(name_room,day_only,pendulum_combined_day_and_hour_start, pendulum_combined_day_and_hour_end,cnx) 文件“ C:\ Users \ antoi \ Documents \ Programming \ Nathalie \ 18_2_2019 \ starter-pack-rasa-stack \ booking.py”, 第52行,在 is_the_room_available starting_hour_list.append(from_pendulum_to_tupple(start_time)) 文件“ C:\ Users \ antoi \ Documents \ Programming \ Nathalie \ 18_2_2019 \ starter-pack-rasa-stack \ booking.py”, 第14行 from_pendulum_to_tupple 年= date.year AttributeError:“ str”对象没有属性“ year” 127.0.0.1--[2019-04-17 16:42:01]“ POST / webhook HTTP / 1.1” 500412 1.050171
year
是使用day_startinghour
创建的,它需要腾出空间,一天和一个小时才能调用上述函数,以了解是否在我们要预订的时间使用了房间:
make_a_booking
答案 0 :(得分:0)
使用dparser
:
import dateutil.parser as dparser
def from_pendulum_to_tupple(date):
print("date: {}".format(date))
date = dparser.parse(date,fuzzy=True)
year = date.year
month = date.month
day = date.day
hour = date.hour
minute = date.minute
return (year, month, day, hour, minute)
s = '2019-04-18T14:00:00+00:00'
print(from_pendulum_to_tupple(s))
输出:
date: 2019-04-18T14:00:00+00:00
(2019, 4, 18, 14, 0)