2016-12-02 8 views
0

私は24時間目が存在するシステムで作業しています。私はdatetimeの大きな配列を持っています。したがってPython正規化日時

、私のように時間を持つことができる場合:

normalized_t1 = '2012-01-24' 

現在、私のようにT1を正規化する場合:

t1 = datetime.datetime(2012, 1, 25, 0, 0) 

それは私がT1を正常化し、取得したい'2012-01-24 24:00'.

を表し

pd.DatetimeIndex([t1, t1]).normalize() 

私が手:

DatetimeIndex(['2012-01-25', '2012-01-25'], dtype='datetime64[ns]', freq=None) 

ではなくif文使用の神託の方法でこれを達成するためにそこの方法である、など

+1

あなたの日は01:00から24:59までですか? – kennytm

答えて

2

必要な時間に合わせて1時間を減算するだけです。

>>> t1 = datetime.datetime(2012, 1, 25, 0, 0) 
>>> t1.strftime('%Y-%m-%d') 
'2012-01-25' 
>>> t1 -= datetime.timedelta(hours=1) 
>>> t1.strftime('%Y-%m-%d') 
'2012-01-24' 
1

This is what I found

import datetime 

t1 = datetime.datetime(2012, 1, 25, 0, 0) 
print "{}-{}-{}".format(t1.year, t1.month, t1.day) 

出力

2012-1-25 
2

日付時間オブジェクトのstrftimeメソッドを使用すると、

import datetime 

fmt = '%Y-%m-%d' 
t1 = datetime.datetime(2012, 1, 25, 0, 0) 
print t1.strftime(fmt)