यदि आप किसी प्रिंट फ़ंक्शन का उपयोग करके सीधे तिथियां प्रिंट करते हैं, तो आपको नियमित तिथियां मिलेंगी,
उदाहरण
import datetime today = datetime.date.today() print(today)
आउटपुट
आपको आउटपुट मिलेगा -
2018-1-2
जो आप वास्तव में चाहते हैं। लेकिन जब आप इसे किसी सूची में जोड़ते हैं और फिर इसे प्रिंट करने का प्रयास करते हैं,
उदाहरण
import datetime my_list = [] today = datetime.date.today() my_list.append(today) print(my_list)
आउटपुट
आपको आउटपुट मिलेगा -
[datetime.date(2018, 1, 2)]
ऐसा इसलिए हो रहा है क्योंकि डेटाटाइम ऑब्जेक्ट हैं। इसलिए, जब आप उनमें हेरफेर करते हैं, तो आप वस्तुओं में हेरफेर करते हैं, न कि स्ट्रिंग्स, न टाइमस्टैम्प और न ही कुछ भी। पायथन में किसी भी वस्तु में दो स्ट्रिंग अभ्यावेदन होते हैं। "प्रिंट" द्वारा उपयोग किया जाने वाला नियमित प्रतिनिधित्व str() फ़ंक्शन का उपयोग करके प्राप्त किया जा सकता है। यह उस ऑब्जेक्ट के लिए कक्षा में __str__ फ़ंक्शन का उपयोग करके कार्यान्वित किया जाता है। वैकल्पिक प्रतिनिधित्व जिसका उपयोग वस्तु प्रकृति (डेटा के रूप में) का प्रतिनिधित्व करने के लिए किया जाता है। इसे repr() फ़ंक्शन का उपयोग करके प्राप्त किया जा सकता है।
तो सही प्रतिनिधित्व प्राप्त करने के लिए, आपको str को अपने डेटाटाइम ऑब्जेक्ट्स पर स्पष्ट रूप से कॉल करने की आवश्यकता है।
उदाहरण
import datetime my_list = [] today = datetime.date.today() my_list.append(str(today)) print(my_list)
आउटपुट
आपको आउटपुट मिलेगा -
['2018-01-02']