2016-12-20 1 views
1

추가 또는 변경 시간 날짜 :내가 예를 들어, 여러 날짜 개체가 개체

>>a 
datetime.datetime(2009, 11, 1, 0, 0) 
내가 0으로 시간 (시간에 세 자리) 변경 날짜를 유지하고 변경하려는

:

>>b 
datetime.datetime(2009, 11, 1, 0, 0, 0) 

을 아마 간단하지만 난 그것을 알아낼 수 없다.

편집 : 어떤 이유로 초는 작동하지 않을 것이다. 그것은는 1 일, 중요하지 않습니다 : 그것은 조금 가로장 설치 등등의

>>a 
datetime.datetime(2009, 11, 1, 0, 0) 
>>b = datetime.datetime.combine(a.date(), datetime.time(0,0,0)) 
>>b 
datetime.datetime(2009, 11, 1, 0, 0) 
>>b = datetime.datetime.combine(a.date(), datetime.time(0,0,1)) 
>>b 
datetime.datetime(2009, 11, 1, 0, 0, 1) 
+0

나는 그것을 얻지 않는다 :'datetime.datetime (2009, 11, 1, 0, 0) == datetime.datetime (2009, 11, 1, 0, 0, 0)' –

+1

데이터 타임에 두 개 또는 세 개의 0이 아닌가요? – Fomalhaut

답변

2

,하지만 당신은 combine를 사용할 수 있습니다

b = datetime.datetime.combine(a.date(), datetime.time(0,0,0)) 
+0

어떤 이유로 시간의 마지막 0은 빠져 있습니다. 하지만 시간이 지나면 1,1,1을 사용할 때 3 개가 모두 생깁니다. – BERA

+0

세 번째 0을 왜 신경 쓰는지 설명 할 수 있습니까? –

+0

테이블에서 pandas 데이터 프레임을 만들려고했지만 datetimes를 가져올 때 형식이 Object로 변경되었습니다. datetime.datetime (2016, 6, 21, 9, 7, 38) 형식의 다른 날짜 필드는 Object로 변경되지 않습니다. 그래서 이유를 알아 내려고 노력 중입니다. – BERA

2
import datetime 
date_with_zeros = datetime.datetime(2009, 11, 1, 1, 0, 0).replace(hour=0, minute=0, second=0) 

그냥 교체 사용합니다.

0

datetime.datetime(2009, 11, 1, 0, 0)datetime.datetime(2009, 11, 1, 0, 0, 0)은 동일한 datetime 개체를 만듭니다. 자세한 내용은 https://docs.python.org/2/library/datetime.html#datetime.datetime을 참조하십시오.

가 아닌 제로 시간, 분, 초를 가지고 있다면 그들에게 제로를 만들기 위해 replace를 사용할 수 있습니다

dt = datetime.datetime(2009, 11, 1, 3, 15, 49) 
dt.replace(hour=0, minute=0, second=0)