python - datetime : ValueError: day is out of range for month
问题描述
我正在编写的脚本需要两个日期并返回它们之间的持续时间,它使用datetime
内置模块。
import datetime
print('Enter the dates [DD/MM/YYYY]!')
date1 = input('Date 1: ')
date2 = input('Date 2: ')
year1 = int(date1[6:])
month1 = int(date1[3:5])
day1 = int(date1[:2])
year2 = int(date2[6:])
month2 = int(date2[3:5])
day2 = int(date2[:2])
date1 = datetime.date(day1, month1, year1)
date2 = datetime.date(day2, month2, year2)
print(date1 - date2)
它一直在向我展示
ValueError: 日期超出月份的范围。
解决方案
您date
以错误的顺序提供构造函数的参数。date
接受参数, year
, month
, day
, 即:
date1 = datetime.date(year1, month1, day1)
date2 = datetime.date(year2, month2, day2)
推荐阅读
- getstream-io - 如何使用stream_python在own_reactions中获取单个用户的数据?
- php - PHP 输出为空
- next.js - 找不到模块:无法解析 '/snapshot/frontend/node_modules/next-server/dist/lib' 中的 '@babel/runtime-corejs2/core-js/array/is-array'
- python - 重新格式化包含字典的 pandas 数据框
- python - 为什么我的代码只返回列表中的第一个元素?
- c# - 创建包含用户和组的表
- apache - .htaccess - 删除路径中第三个斜杠后的所有内容
- javascript - Firebase 函数 - HTTP 错误:400,请求有错误
- spring-boot - spring boot如何为调度任务设置securitycontext以调用安全方法?
- iis - 一般如何处理 IIS 上 80 端口上的 websockets 以及使用 ISAPI 时