2012-09-05 2 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 

문제가있는 원인인지 궁금해서 조금 불편 해 보입니다.

나는 또한 strptime 방법을 사용하고 그리고 당신은 어떤 값없이 개체를 만들 수 있습니다 방법

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

답변

22

을 결합 :

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

당신은, 그러나, 모듈에서 클래스 날짜를 수입 모듈 자체를 교체합니다.

>>> 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

3 매개 변수 생성자는 똑같이 유효하며 중복됩니다. http://docs.python.org/library/datetime.html#datetime.time – Ryan

+0

@Martijn ok 그래야 내가 무엇을 유지/변경해야합니까? – Santiago

+0

@Martijn datetime 및 time을 가져 오기만을 시도했지만 지금은이 오류가 발생합니다. 'module'객체에는 줄을 참조하는 'strptime'속성이 없습니다. value = datetime.strptime (value, format) – Santiago

5

import 충돌이 datetime 인 사람은 datetime입니다. time을 의미했을 수도 있습니다. 단, import이고 충돌하는 경우는 time입니다. 그래서에 대해 어떻게 :

import datetime as dt 

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