Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:无年份日期的约定_Python_Date - Fatal编程技术网

Python:无年份日期的约定

Python:无年份日期的约定,python,date,Python,Date,我有一个脚本,查看生日列表,然后计算年龄。有些生日有年、月、日,有些只有月、日 对于有年份的,我有dob=date(年、月、日) 但是对于没有年份的,存储日期的适当约定是什么,因为date()需要年份参数 现在我说每个没有出生年份的人都出生在1500年(所以我以后至少可以很容易地识别他们),但这显然是一个愚蠢的解决方案;不要使用datetime.dateclass日期必须具有年份。如果存在year,则在每次需要时动态计算date字段,和/或在自定义对象上设置self.date属性,以便在用于没有

我有一个脚本,查看生日列表,然后计算年龄。有些生日有年、月、日,有些只有月、日

对于有年份的,我有
dob=date(年、月、日)

但是对于没有年份的,存储日期的适当约定是什么,因为
date()
需要年份参数


现在我说每个没有出生年份的人都出生在1500年(所以我以后至少可以很容易地识别他们),但这显然是一个愚蠢的解决方案;不要使用
datetime.date
class<代码>日期必须具有
年份
。如果存在
year
,则在每次需要时动态计算
date
字段,和/或在自定义对象上设置
self.date
属性,以便在用于没有年份的对象时引发错误。

我喜欢您的解决方案:)似乎是一个公平的解决方案。只要确保您使用的是闰年,即1500,你也是good@ekhumero这是一个闰年,因为1582年之前,由于公历和儒略历的不同,适用不同的规则。。。但是有点不对劲topic@user2782067:1500不是
datetime
模块使用的公历中的闰年。尝试:
from datetime导入日期;date(1500,2,29)
它应该会引起
ValueError
,而
date(1504,2,29)
则不会。这可能是一个很好的解决方案,但在我的情况下,我最终将不得不将所有日期转换为标准格式,而
datetime.date
可能是最佳选择。我的策略是在我的年龄计算器函数中处理闰年异常,并且只在有年份的情况下向它传递日期。