2013-01-20 34 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 

मैं अपने शब्दकोश में कुंजी और उसे 20 जनवरी के रूप में की तारीख वस्तु का उपयोग कर रहा है, क्योंकि वे एक ही माह और वर्ष में हैं, 21 जनवरी के रूप में एक ही कुंजी होना आवश्यक है।

मैंने महीने संख्या से पहले सरल पूर्णांक का उपयोग किया था। दुर्भाग्य से मुझे साल भी जानना होगा!

उत्तर

11

नहीं, आप ऐसा नहीं कर सकते हैं। अपने USECASE के लिए, बजाय एक टपल का उपयोग करें:

key = (2013, 1) 

जब से तुम suffices की तुलना में एक टपल अधिक मूल्य पर तारीख जोड़तोड़ करने की ज़रूरत नहीं है।

7

अन्य उत्तर के अतिरिक्त, आप नामांकित का उपयोग कर सकते हैं।

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)