2012-09-05 10 views
15

मैं इस तरह एक समय वस्तु प्रारंभ करने में कोशिश कर रहा हूँ:कैसे अजगर में समय() वस्तु प्रारंभ करने में

t = datetime.time(0,0,0) 

लेकिन मैं इस त्रुटि हो रही है:

descriptor 'time' requires a 'datetime.datetime' object but received a 'int' 

मैं इन बातों को आयात किया है

import datetime 
from datetime import datetime, date, time 
import time 

वे थोड़ा निरर्थक लग रहे हैं तो मैं सोच रहा हूँ अगर यह है कि समस्या क्या

0 खड़ी कर रहा है है

मैं भी strptime विधि का उपयोग कर रहा हूँ और विधि गठबंधन

earliest = datetime.combine(earliest, t) 
    value = datetime.strptime(value, format) 

उत्तर

22

आप किसी भी मूल्यों के बिना वस्तु बना सकते हैं:

>>> import datetime 
>>> datetime.time() 
datetime.time(0, 0) 

हालांकि, आप वर्ग datetime मॉड्यूल से आयात , मॉड्यूल को प्रतिस्थापित कर रहा है:

>>> from datetime import datetime 
>>> datetime.time 
<method 'time' of 'datetime.datetime' objects> 

और उसके पास एक अलग हस्ताक्षर:

>>> datetime.time() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: descriptor 'time' of 'datetime.datetime' object needs an argument 
>>> datetime.time(0) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: descriptor 'time' requires a 'datetime.datetime' object but received a 'int' 

या तो पूरे मॉड्यूल आयात करते हैं, या निहित वर्गों आयात करते हैं, लेकिन मिश्रण और मिलान नहीं है। चिपकाएं:

import datetime 
import time 

यदि आपको दोनों मॉड्यूल की आवश्यकता है।

+0

तीन-पैरामीटर कन्स्ट्रक्टर समान रूप से मान्य है, केवल अनावश्यक है। http://docs.python.org/library/datetime.html#datetime.time – Ryan

+0

@ मार्टिजन ठीक है तो मुझे क्या रखना चाहिए/बदलना चाहिए? – Santiago

+0

@Martijn मैंने केवल डेटाटाइम और समय आयात करने का प्रयास किया है, लेकिन जब मैं ऐसा करता हूं तो मुझे अब यह त्रुटि मिलती है: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है 'स्ट्रिपटाइम' पंक्ति में refering: value = datetime.strptime (मान, प्रारूप) – Santiago

5

यह तथ्य है कि datetimedatetime से एक विरोधाभासी datetime में है। आप शायद time का अर्थ रखते हैं, सिवाय इसके कि आप import एक विवादित time पर हैं। तो कैसे के बारे में:

import datetime as dt 

और

t = dt.time(0, 0, 0) 
संबंधित मुद्दे