2011-06-14 3 views
1

이상한 작은 문제 저는 Datetime과 마주하고 있습니다. 내가하는 일은 다음과 같습니다.Python - 날짜 시간의 시간은 항상 0입니다.

>>> from datetime import datetime, date 
>>> t = date.timetuple(datetime.now()) 
>>> t 
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1) 

tm_hour, tm_min 및 tm_sec가 모두 0입니다. 왜 이런거야?

+0

정확하게 똑같이 시도해 보았고 모든 것이 저에게 잘 맞았습니다 –

+0

@Artsiom 내 우분투 파이썬 2.7.1에서 @Artsiom 잘 작동하지 않습니다 –

+0

@Gabi Purcaru - 네 - 맞습니다. 여러 파이썬 해석기에서 시도했습니다. 하나만 date.timetuple 및 datetime.timetuple에 대해 동일한 결과를 생성합니다. 그래서 광산 파이썬 IDE 중 하나에 문제가 있다고 생각합니다. –

답변

5

우물 tdate이므로 당연히 시간 데이터가 포함되어 있지 않습니다. 해당 필드를 채우려면 datetime.timetuple(datetime.now())을 사용해야합니다.

1

내 콘솔에서이 시도하고 다음과 같은 결과를 얻을 수있다 :

from datetime import datetime, date 

date.timetuple(datetime.now()) 
>>> time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1) 
datetime.timetuple(datetime.now()) 
>>> time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=13, tm_min=23, tm_sec=34, tm_wday=1, tm_yday=165, tm_isdst=-1) 
0

이 작동합니다 :

t = datetime.timetuple(datetime.now()) 
+0

코드를 적절하게 포맷하십시오. 감사합니다. – Trufa

1
>>> from datetime import datetime 
>>> datetime.timetuple(datetime.now()) 
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=18, tm_min=25, tm_sec=20, tm_wday=1, tm_yday=165, tm_isdst=-1) 
>>> from datetime import date 
>>> date.timetuple(datetime.now()) 
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1) 

이 내 결과입니다.

관련 문제