Date对象一年只有一个月(Date object with year and month only

2019-07-18 11:30发布

是否有可能创建日期对象,具有一年只有一个月? 我并不需要一天。

In [5]: from datetime import date

In [6]: date(year=2013, month=1)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-a84d4034b10c> in <module>()
----> 1 date(year=2013, month=1)

TypeError: Required argument 'day' (pos 3) not found

我使用的日期对象在我的字典键和1月20日必须具有相同的密钥1月21日,因为他们在同一月份和年份。

我之前在一个月号码使用一个简单的整数。 不幸的是,我需要知道这一年呢!

Answer 1:

不,你不能这样做。 为了您的用例,使用一个元组,而不是:

key = (2013, 1)

既然你并不需要的价值做日期比操作一个就足够多的元组。



Answer 2:

作为除了对方的回答,您可以使用namedtuple。

from collections import namedtuple
MyDate = namedtuple('MyDate', ['month', 'year'])
dkey = MyDate(year=2013, month=1)


Answer 3:

import datetime

date = datetime.date(year=2013, month=1, day=4)
str(date.year) + '-' + str(date.month)


Answer 4:

如果你想使用datetime ,则必须按照它的属性。 在这里,我引用它从官方网站:

“一个理想化的天真的日期,假定当前公历始终是,而且将永远是,在效果属性:。年,月,日”

所以,你不能忽视每天记得给分配。



文章来源: Date object with year and month only