2011-12-03 7 views
5

में समय शामिल मैं इस कोड के लिए:कैसे केवल तारीख प्रिंट और नहीं datetime.datetime.strptime()

>>> import datetime 
>>> l = '2011-12-02' 
>>> t = datetime.datetime.strptime(l, '%Y-%m-%d') 
>>> print t 
2011-12-02 00:00:00 

मेरे सवाल है, यह संभव है कि केवल 2011-12-02 प्रिंट किया जाएगा?

+0

बीटीडब्ल्यू, आप वास्तव में 'डेटाटाइम' के उदाहरण से फ़ॉर्मेटेड स्ट्रिंग कैसे प्राप्त कर रहे हैं। 'स्ट्रिपटाइम' फ़ंक्शन केवल एक स्ट्रिंग लेता है और आपको 'डेटाटाइम' का एक नया उदाहरण देता है। इस अंतर को समझने से आप भविष्य में इस तरह की चीजों के माध्यम से काम करने में मदद करेंगे। –

उत्तर

11
>>> t.strftime('%Y-%m-%d') 
'2011-12-02' 
+0

क्या कोई तरीका है कि यह एक स्ट्रिंग नहीं बन जाएगा? – gadss

+0

@gadss: * हुह!? * आप इसे किसी भी तरह से नहीं कर सकते * * * एक स्ट्रिंग जब आप इसे स्वरूपित कर रहे हों। आपका क्या अर्थ है? –

2
strftime() साथ

:

print t.strftime('%Y-%m-%d') 
+0

'time.strftime' वास्तव में पहले प्रारूपित होता है, समय दूसरा, और वास्तव में समय 'डेटाटाइम' नहीं है (जो हमारे ओपी है), लेकिन 'struct_time'। उसे 'डेटाटाइम 'मॉड्यूल में' strftime' का उपयोग करना चाहिए। –

+0

मैंने अपना जवाब एक * लोंग * समय पहले संपादित किया था। कोड काम करता है, जैसा कि मैंने जवाब देने से पहले इसका परीक्षण किया था। अगर आप लिंक के बारे में उलझन में हैं, क्षमा करें। मैंने इसे वाक्यविन्यास का एक उदाहरण के रूप में उपयोग किया, वास्तविक कार्य नहीं ... – Blender

+0

जिस कोड को आपने शुरू में लिखा था वह निश्चित रूप से काम नहीं करता था, और आप एसओ के स्पष्ट अंतिम-स्थिरता मॉडल को दोषी ठहरा सकते हैं क्योंकि आपके उत्तर का मेरा विचार कभी अपडेट नहीं हुआ है। आपकी नई टिप्पणियां देख सकती थीं। –

0

मुझे लगता है कि आप इस

d = datetime.datetime(2011,7,4) 
print '{:%Y-%m-%d}'.format(d) 

या अपने कोड की तरह उपयोग करना चाहिए:

import datetime 
l = '2011-12-02' 
t = datetime.datetime.strptime(l, '%Y-%m-%d') 
print '{:%Y-%m-%d}'.format(t) 
0

आप के लिए उत्पादन प्रारूप में बताने की तारीख, उदाहरण के लिए एक "%" के बाद

print t.strftime("%Y-%m-%d") 

सभी पत्र का उपयोग करके एक प्रारूप का प्रतिनिधित्व करते हैं:% d दिन संख्या है,% मीटर महीने संख्या है,% y साल अंतिम दो अंक है,% Y पूरे साल है

संबंधित मुद्दे