当前位置: 首页 > 面试题库 >

在python中,如何检查日期是否有效?

怀晋
2023-03-14
问题内容

我正在构建一种日历Web应用程序

我已经在HTML中设置了以下表格

<form action='/event' method='post'>
Year ("yyyy"):  <input type='text' name='year' />
Month ("mm"):  <input type='text' name='month' />
Day ("dd"):  <input type='text' name='day' />
Hour ("hh"):  <input type='text' name='hour' />
Description:  <input type='text' name='info' />
             <input type='submit' name='submit' value='Submit'/>
</form>

然后,来自用户的输入将被提交到小服务器中

我想知道,有没有办法检查用户输入的日期是否是有效日期?

显然,我可以编写很多if语句,但是是否有任何内置函数可以检查这一点?

谢谢


问题答案:

你可以尝试做

import datetime
datetime.datetime(year=year,month=month,day=day,hour=hour)

这将消除诸如> 12,小时> 23,不存在的leap日等问题(在不month年,month =
2的最大值为28,否则为29,其他月份的最大值为30或31天)(错误时引发ValueError异常)

您也可以尝试将其与一些合理的上限/下限进行比较。例如:

datetime.date(year=2000, month=1,day=1) < datetime.datetime(year=year,month=month,day=day,hour=hour) <= datetime.datetime.now()

相关的上限和下限取决于您的需求。

编辑:请记住,这不会处理某些日期时间的事情,这些事情可能对您的应用程序无效(生日,节假日,营业时间以外的时间等)。



 类似资料:
  • 以下是场景: 我有一个日期和一个不同的日期格式。示例: 日期:2016-10-19 日期格式:“DD-MM-YYYY”。 我需要检查这个日期是否有效。 我尝试过跟踪事情 d.isValid()每次返回false。Moment.js解析给定格式的日期吗? 然后我尝试先在中格式化日期,然后将其传递给矩。js: 现在<代码>日期。isValid()给了我想要的结果,但现在是时候了。js日期对象创建两次。

  • 问题内容: 我正在Linux中编写bash shell脚本,该程序将接受日期(mm-dd- yyyy)作为参数。我想知道是否有一种简单的方法来检查日期是否有效?有操作员,我可以使用测试进行检查吗? 问题答案: 您可以检查 因此是有效的,但是使用连字符(例如)对于无效。 您也可以使用单词:或都有效。

  • 问题内容: 我想检查两个日期是否超过一周,例如,检查两个日期是否有7天, 此时,数据范围应仅在一周之内(7天)。 我已经尝试过这样的事情, 有人可以帮忙吗? 问题答案: 最简单的方法是使用Jodatime并使用 另一个解决方案是使用日历,添加7天,然后再次进行比较。

  • 问题内容: 我有像 如何检查字符串是否为日期? 使用正则表达式检查String是否为数字 问题答案: 其他人也是正确的 这是你的答案

  • 问题内容: 如果有和,如何检查用户给出的日期是否在该范围内? 例如 目前日期是字符串,将它们转换为时间戳整数是否有帮助? 问题答案: 使用strtotime将它们转换为时间戳是正确的方法,例如

  • 问题内容: 即使是同一天,此条件也总是计算为,因为它正在比较时间。 如何检查日期是否与同一天? 问题答案: 如果您只想比较日期, 或者,显然 如果要检查它们是 同一 日期。 该文档通常很有帮助。通常,它也是的第一个Google搜索结果。除非您的问题与名为“ snake”的功能/模块有关。 基本上,模块具有三种存储时间点的类型: 年,月,日 时,分,秒,微秒,时区信息 结合日期和时间。它具有方法和获