python - Python:检查、比较时间、日期。验证日期
问题描述
我正在尝试为日期创建某种验证。
我的 API 请求有这些日期。
"date_from": "2020-11-20T20:11:00Z",
"date_to": "2020-11-20T20:12:50Z"
date.timestamp()
=1605903600.0
datetime.utcnow().timestamp()
=1605896932.580989
假设当前时间是 2020-11-20 20:13:00,我仍然可以通过提供2020-11-20T20:11:00Z
比当前时间更早的时间 ( ) 创建一些对象。
我需要检查是否date_from
不小于当前时间,所以我尝试:
def validate_date_from(self, date):
if date.timestamp() <= datetime.utcnow().timestamp():
raise serializers.ValidationError("Meeting could not start earlier than the current time")
return date
但是我仍然可以通过 API 创建对象,这意味着验证方法不能正常工作。
其次,我有这个代码片段(如下)它应该检查当前是否正在进行预订,所以基本上它检查开始日期和结束日期之间,如果当前时间在开始日期和结束日期之间,我们可以知道会议是活跃的,但不幸的是,它不能正常工作。
if parse(reservation['date_from']).timestamp() >= datetime.now().timestamp() <= parse(reservation['date_to']).timestamp():
raise serializers.ValidationError("Room is in-use")
parse(reservation['date_from']).timestamp()
=1605903060.0
datetime.now().timestamp()
=1605896745.853667
parse(reservation['date_to']).timestamp()
=1605903170.0
解决方案
推荐阅读
- java - 如何逐行比较两个文本文件并提取与另一个文件不同的两行?
- python - Python-如何将if条件中的值存储到带有附加的列表中
- apache - 本地风暴集群设置 - 未执行
- javascript - 为什么可以将参数传递给javascript中没有参数的函数?
- visual-studio-code - Visual Studio Code 1.41 - 需要 .NET Framework 4.7.2 - 安装 4.8 完整开发者版本
- amazon-redshift - Redshift SQL:如何纯粹在 SQL 中创建队列三角形(对角线形式)
- javascript - 从本地文件夹而不是 html 中的在线 url 获取视频有什么区别?
- asp.net-mvc - 暂时保留从数据库中搜索到的输入数据并显示以查看mvc并保存
- pandas - How to change the column names when merging in pandas
- firebase - 为什么 Firebase/Cloud Functions 有时会执行两次?