2012-08-22 24 views
43

मैं strptime का उपयोग कर रहा हूं ताकि दिनांक स्ट्रिंग को datetime में परिवर्तित किया जा सके। लिंक किए गए पृष्ठ के अनुसार, इस तरह स्वरूपण काम करना चाहिए:इस सरल उदाहरण में datetime.strptime क्यों काम नहीं कर रहा है?

>>> # Using datetime.strptime() 
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M") 

मेरे कोड है:

import datetime 
dtDate = datetime.strptime(sDate,"%m/%d/%Y") 

जहां sDate = "07/27/2012" (उदाहरण के लिए)। (मैं एक ही पृष्ठ से समझते हैं, यह है कि %Yहै "एक दशमलव संख्या के रूप में सदी के साथ वर्ष।")

मैं कोड में sDate के वास्तविक मूल्य डालने की कोशिश की है:

dtDate = datetime.strptime("07/27/2012","%m/%d/%Y") 

लेकिन यह काम नहीं करता। मुझे जो त्रुटि मिलती है वह है: विशेषता त्रुटि: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है 'strptime'

मैं क्या गलत कर रहा हूं?

+0

त्रुटि आप प्राप्त क्या है आयात करने के लिए? –

+1

त्रुटि शायद यह है कि फ़ंक्शन मॉड्यूल में नहीं है। डेटाटाइम से डेटाटाइम आयात करने का प्रयास करें। या datetime.datetime.strptime – jrdn

+0

@MartijnPieters के रूप में आमंत्रित करें: धन्यवाद। जैसे ही मैंने इसे पोस्ट किया, मुझे एहसास हुआ कि मुझे यह जोड़ना चाहिए था ... :) – Wikis

उत्तर

46

आपको datetime.datetime.strptime का उपयोग करना चाहिए। ध्यान दें कि पायथन (2.4 और पुराने) के पुराने संस्करणों में datetime.datetime.strptime नहीं है; उस मामले में time.strptime का उपयोग करें।

+2

वह था, धन्यवाद! मैं प्रागैतिहासिक पायथन 2.3 का उपयोग कर रहा हूँ! – Wikis

+11

आपको अपने पायथन संस्करण को यथासंभव शीघ्रता से अपग्रेड करना चाहिए। –

6

क्योंकि datetime मॉड्यूल है। कक्षा datetime.datetime है।

import datetime 
dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y") 
+1

धन्यवाद, लेकिन फिर मुझे मिलता है: ** विशेषता त्रुटि: ऑब्जेक्ट 'datetime.datetime' टाइप करें कोई विशेषता नहीं है 'strptime' ** – Wikis

+0

@ विकिस: क्या आपके पास अपनी परियोजना में 'डेटाटाइम' नाम का एक और मॉड्यूल है? –

+0

नहीं 'डेटाटाइम' का उपयोग किसी अन्य स्थान पर किया जाता है: 'now = datetime.datetime।अब() 'अगर यह कोई मदद है। – Wikis

16

आपने मॉड्यूल datetime है, जो एक strptime समारोह नहीं है आयात कर रहे हैं।

कि मॉड्यूल करता कि विधि हालांकि साथ एक datetime वस्तु है:

from datetime import datetime 
dtDate = datetime.strptime(sDate, "%m/%d/%Y") 

ध्यान दें कि strptime विधि जोड़ा गया है:

import datetime 
dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y") 

वैकल्पिक रूप से आप मॉड्यूल से datetime वस्तु आयात कर सकते हैं पाइथन 2.5 में; आप एक पुराने संस्करण के बजाय निम्नलिखित कोड का उपयोग उपयोग कर रहे हैं:

import datetime, time 
dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6]) 
0

आप datetime मॉड्यूल से datetime वर्ग से strftime स्थिर विधि का उपयोग करना चाहिए। आज़माएं:

import datetime 
dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y") 
0

आप निम्न कार्य कर सकते हैं, दिनांक

from datetime import datetime as dt 

dt.strptime(date, '%Y-%m-%d')