python - 可以在 python 中创建没有日期的 datetime.date 对象吗?

标签 python

我试图在 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/

相关文章:

python & MySQL : unsupported operand type(s) for -: 'int' and 'tuple'

python - 修补 python 类之外的方法

python - scikit learn 中的预测和评分如何工作

python - 无法确定 NumPy 数组的切片索引

python - 检测 numpy 数组中的有序对

python - 在同一个 Controller 中有多个 SQLAlchemy session 可以吗,还是我应该将它们全部放在一个 session 中?

python - 如何使用 assert_raises 捕获 SystemExit 异常

python - 将每对列彼此分开

python - 对值数组进行计算 - Python

python - 无法导入模块,即使它们与我正在使用的文件位于同一目录中