2013-08-13 3 views
1

이 datetime.datetime 레이블 대신 datetime.time 대신 구현 된 이유를 알고 싶습니다.파이썬에서 왜 지금은 datetime.datetime.now 대신 datetime.time.now로 얻는가?

예를 들어 오늘의 파이썬 날짜를 얻으려면 다음을 수행하십시오.

import datetime 
print datetime.date.today() 

하지만 지금은 시간이 동일하지 않습니다, 나는

print datetime.time.now() 

가 대신 다음을 수행해야 의미 할 수있다 :

print datetime.datetime.now() 

답변

6

는 "지금"의 포인트입니다 시각. 그것은 날짜 문제를 의미합니다. 정오가되면 어제 정오가되지 않습니다. 오늘의 오전 9시는 또한 지금도 아닙니다. 따라서 datetime.datetime.now이 있지만 datetime.time.now이 아닌 것은 의미가 있습니다. datetime.time.currentlocaltime 또는 datetime.time.currentutctime을 사용하는 것이 좋지만 이러한 방법은 존재하지 않습니다. 원하는 경우 기능 요청을 입력 할 수 있습니다.

+0

좋은 답변입니다. [docs] (http://docs.python.org/2/library/datetime.html#available-types)는 명시 적으로 'datetime.time'은 "특정 날짜와 관계없이 이상적인 시간"이며 " 지금은 분명히 어떤 특정한 날과는 독립적이지 않다. ... – abarnert

+0

하나의 작은 말 :'datetime.datetime'과 달리,'datetime.time'은 암시 적으로 지역 또는 tz를 인식하는 시각입니다; 현재의 UTC '시간'은 로컬 시간대가 UTC 인 (순진하거나 인식하는) 현지 시간에만 의미가 있습니다. [docs] (http://docs.python.org/3/library/datetime.html#time-objects)에서 : "시간 객체는 (현지 시간) ... tzinfo를 통해 조정될 수 있습니다. 목적." – abarnert

+0

+1 좋은 설명. –