2013-01-20 98 views
14

僅可以在年份和月份創建date對象嗎?我不需要一天。只有年份和月份的日期對象

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日,因爲他們在同一月份和年份。

我之前使用的簡單整數是月份數。不幸的是我也需要知道一年!

回答

11

不,你不能那樣做。爲了您的用例,而不是使用一個元組:

key = (2013, 1) 

既然你並不需要的價值做日期比操作一個就足夠多的元組。

7

作爲其他答案的補充,您可以使用namedtuple。

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

如果你想使用日期時間,你必須遵循它的屬性。在這裏我引用它來自官方網站: 「一個理想化的天真日期,假設當前的公曆日曆始終是,而且一直都是有效的。屬性:年,月和日。」 所以,你不能忽視一天,記住要分配任務。

2
import datetime 

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