提问人:Kazak 提问时间:11/16/2023 最后编辑:Kazak 更新时间:11/19/2023 访问量:43
该函数在两种情况下工作
The function works in two scenarios
问:
def is_valid_shelf_life(date):
try:
shelf_life = datetime.strptime(date, "%d.%m.%y")
except(TypeError, ValueError):
return True
return False
@db.message_handler(is_valid_shelf_life, state=ProductAddingStatesGroup.shelf_life)
async def check_shelf_life(message: types.Message):
await message.answer("Дата введена не корректно!")
当日期输入不正确时,该函数应该可以工作,但在我的情况下,当我输入正确的日期时,检查仍然失败。check_shelf_life
我试图在函数中交换 True 和 False,但在这种情况下,传递了正确和无效的数据。is_valid_shelf_life
答:
0赞
Alex
11/16/2023
#1
- 更改 True 和 False。
- 您正在等待 .您不能使用 .如果要使用全年,请使用 .
"%d.%m.%y"
16.11.23
2023
%Y
def is_valid_shelf_life(date):
try:
shelf_life = datetime.strptime(date, "%d.%m.%y")
except(TypeError, ValueError):
return False
return True
is_valid_shelf_life("16.11.23") # True
is_valid_shelf_life("16.11.2023") # False
is_valid_shelf_life("16.13.23") # Fasle
评论
0赞
Kazak
11/17/2023
当日期输入错误时,我只需要它是 True 即可捕获错误。
0赞
Alex
11/17/2023
@Kazak好吧,那么我猜只是修复 strptime 格式?给期的输入示例
0赞
Kazak
11/19/2023
#2
我需要输入,而不仅仅是date.text
date
评论