我试图在 Python 中输入日期,但有时我不知道确切的日期或月份。所以我只想记录年份。我想做类似的事情:
datetime.date(year=1940, month="0 or None", day="0 or None")
是否有执行此操作的代码?或者,如果没有,您将如何处理这个问题?
最佳答案
不幸的是,你不能传递 0
因为没有月份 0
所以你会得到 ValueError: month must be in 1..12
,您不能跳过月份或日期,因为两者都是必需的。
如果您不知道确切的年份或月份,只需为月份和日期传递 1,然后只保留年份部分。
>>> d = datetime.date(year=1940, month=1, day=1)
>>> d
datetime.date(1940, 1, 1)
>>> d.year
1940
>>> d = datetime.date(year=1940, month=1, day=1).year
>>> d
1940
第二个语句是第一个语句的简写。
但是,如果您只想存储年份,则不需要日期时间对象。您可以单独存储整数值。日期对象表示月份和日期。
关于python - 可以在 python 中创建没有日期的 datetime.date 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17387085/