2010-01-28 10 views
115
t = e['updated_parsed'] 
dt = datetime.datetime(t[0],t[1],t[2],t[3],t[4],t[5],t[6] 
print dt 
>>>2010-01-28 08:39:49.000003 

मैं कैसे चालू करूं कि एक स्ट्रिंग ?:पठनीय प्रारूप दिनांक के साथ, मैं एक पायथन डेटाटाइम को स्ट्रिंग में कैसे बदलूं?

"January 28, 2010" 
+5

'dt = datetime.datetime (* t [: 7])' –

उत्तर

165

डेटाटाइम क्लास में एक विधि है। पाइथन डॉक्स में strftime() Behavior दस्तावेजों को स्वीकार करता है जो विभिन्न प्रारूपों को स्वीकार करता है।

my_datetime.strftime("%B %d, %Y") 
6

पढ़ें strfrtime सरकारी डॉक्स से में।

78

यहाँ कैसे आप एक ही का उपयोग कर अजगर के सामान्य स्वरूपण समारोह को पूरा कर सकते है ...

>>>from datetime import datetime 
>>>"{:%B %d, %Y}".format(datetime.now()) 

स्वरूपण यहां इस्तेमाल किया वर्ण:

इस विशिष्ट उदाहरण के लिए, यह कुछ ऐसा दिखाई देगा strftime द्वारा उपयोग किए गए समान हैं। स्वरूप विनिर्देशक में अग्रणी : याद न करें।

ज्यादातर मामलों में प्रारूप() strftime के बजाय() का उपयोग कोड अधिक पठनीय, लिखने के लिए आसान है और जिस तरह से स्वरूपित उत्पादन उत्पन्न होता है के साथ संगत कर सकते हैं ...

>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now()) 

के साथ ऊपर की तुलना करें निम्नलिखित strftime() विकल्प ...

>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y")) 

इसके अलावा, का पालन नहीं कर काम करने के लिए जा रहा है ...

>>>datetime.now().strftime("%s %B %d, %Y" % "Andre") 
Traceback (most recent call last): 
    File "<pyshell#11>", line 1, in <module> 
    datetime.now().strftime("%s %B %d, %Y" % "Andre") 
TypeError: not enough arguments for format string 

और इतने पर ...

+1

मैं सोच रहा हूं कि इस मामले के लिए प्रारूप() का उपयोग करने के क्या फायदे हैं, strftime() पर। क्या कोई तरीका व्यक्तिगत वरीयता के अलावा कोई लाभ प्रदान करता है? प्रदर्शन मतभेद क्या हैं? – Andre

+2

@Andre आपके प्रश्न के लिए धन्यवाद! व्यक्तिगत प्राथमिकताओं को अक्सर अनुभव द्वारा निर्देशित किया जाता है। कृपया मेरा अद्यतन उत्तर देखें कि मैं स्ट्रैटटाइम() पर प्रारूप() क्यों पसंद करता हूं। प्रदर्शन और पायथन दो शब्द हैं जो एक साथ अच्छी तरह से नहीं जाते हैं। अगर मैंने पायथन का उपयोग करने का फैसला किया है तो मैं प्रदर्शन से अत्यधिक चिंतित नहीं हूं। जब मुझे प्रदर्शन की आवश्यकता होती है तो मैं कुछ स्थिर टाइप की गई उच्च प्रदर्शन भाषा का उपयोग करता हूं। –

+0

अधिकांश मामलों में प्रारूप विधि सरल है। तुलना करें: 'प्रिंट' आज {{% बी% डी,% वाई} 'प्रारूप है (डेटाटाइम .now()) 'to' print' आज {} 'प्रारूप (डेटाटाइम .now()। Strftime ('% बी% डी,% वाई ')'। जब भी आप प्रारूप() विधि का उपयोग कर रहे हैं, तो इसे प्रारूप स्वरूपण के लिए क्यों न उपयोग करें? – ChaimG

-1

यह दिनांक स्वरूप के लिए है?

def format_date(day, month, year): 
     # {} betekent 'plaats hier stringvoorstelling van volgend argument' 
     return "{}/{}/{}".format(day, month, year) 
3

बहुत पुराना सवाल, मुझे पता है। लेकिन नए f-strings (पायथन 3.6 से शुरू) के साथ ताजा विकल्प हैं। इसलिए यहाँ संपूर्णता के लिए:

from datetime import datetime 

dt = datetime.now() 

# str.format 
strg = '{:%B %d, %Y}'.format(dt) 
print(strg) # July 22, 2017 

# datetime.strftime 
strg = dt.strftime('%B %d, %Y') 
print(strg) # July 22, 2017 

# f-strings in python >= 3.6 
strg = f'{dt:%B %d, %Y}' 
print(strg) # July 22, 2017 

strftime() and strptime() Behavior बताते प्रारूप विनिर्देशक क्या मतलब है।

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