2011-04-11 3 views
22

내 코드에서 사용자에게 dd/mm/yyyy 형식의 날짜를 묻습니다. 나는 다음 int()를 제거 저도 같은 오류로 끝날 경우문제 해결 "설명자 '날짜'는 'datetime.datetime'개체가 필요하지만 'int'를 받았습니다"

currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ") 
day,month,year = currentdate.split('/') 
today = datetime.date(int(year),int(month),int(day)) 

이 단지 그것이 내가 잘못하고있는 중이 야 무엇 'str'

받은 말한다 오류를

TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

을 반환? 내가

from datetime import * 

을 할 경우

답변

4

나는

import datetime 

그래서 당신의 수입을 검사 할 때 멀리 간다 오류를 재현 할 수 있습니다.

33

대신 datetime.datetime 모듈을 가져온 것으로 보입니다. 하지만 이것은 작동합니다 :이 .. 또는

import datetime 
currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ") 
day,month,year = currentdate.split('/') 
today = datetime.date(int(year),int(month),int(day)) 

을 :

from datetime import date 
currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ") 
day,month,year = currentdate.split('/') 
today = date(int(year),int(month),int(day)) 
+0

감사합니다. –

18

는이 같은 가져 옵니까?

from datetime import datetime 

그럼 당신은 다음과 같이이를 변경해야합니다

import datetime 

설명 : 효과적으로 datetime.datetime.date(), 모듈 datetime에서 개체 datetime의 메소드 호출되는 첫 번째 경우. 나중에 경우 datetime.date() 생성자를 사용하여 새 date() 개체를 만듭니다.

from datetime import datetime, date 

다음합니다 (datetime. 접두사없이) date(y,m,d)로 구성 :

또는,로 가져 오기를 변경할 수 있습니다.

2

나는 datetime이 모듈이 아니라 객체를 참조한다고 생각합니다.

from datetime import datetime 
currentdate = raw_input("Please enter todays date in the format dd/mm/yyyy: ") 
day,month,year = currentdate.split('/') 
today = datetime.date(int(year),int(month),int(day)) 

당신은 따라서 datetime 클래스의 date 메소드를 호출하는 대신 datetime 모듈의 date 함수를 호출 : 당신은 아마 (아마도 더 복잡한) 다음 코드를 가지고 있었다.

>>> import datetime 
>>> print datetime 
<module 'datetime' (built-in)> 
>>> print datetime.date(1, 1, 1) 
0001-01-01 
>>> datetime = datetime.datetime 
>>> print datetime 
<type 'datetime.datetime'> 
>>> print datetime.date(1, 1, 1) 

Traceback (most recent call last): 
    File "<pyshell#12>", line 1, in <module> 
    print datetime.date(1, 1, 1) 
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int' 
7

이미

from datetime import datetime 

이있는 경우 다음과 같이 구성 할 수있다 :이 정말 경우 경우

당신은 볼 수 datetime 개체를 인쇄 할 수 있습니다

christmas = datetime(2013,12,25) 
2

datetime 및 datetime.datetime을 모두 사용할 수 있습니다. 다음과 같이 가져 오기를 작성하십시오.

from datetime import datetime 
import datetime as dt 

time_1 = datetime.strptime('17:00:00', '%H:%M:%S') 
time_1 = dt.time(time_1.hour, time_1.minute, time_1.second)