简体   繁体   English

datetime: ValueError: day is out of range for month

[英]datetime : ValueError: day is out of range for month

The script I'm writing takes two dates and gives back the duration between them, it uses the datetime built-in module.我正在编写的脚本需要两个日期并返回它们之间的持续时间,它使用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)

It keeps showing me它一直在向我展示

ValueError: day is out of range for month. ValueError: 日期超出月份的范围。

You're providing the date constructor's arguments in the wrong order.您以错误的顺序提供date构造函数的 arguments。 date takes the arguments, year , month , day , ie: date取 arguments, year , month , day ,即:

date1 = datetime.date(year1, month1, day1)
date2 = datetime.date(year2, month2, day2)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM