我在24小时存在的系统中工作。我有很多日期时间。
因此,如果我有时间:
t1 = datetime.datetime(2012, 1, 25, 0, 0)
代表'2012-01-24 24:00'.
我想规范化t1并获得:
normalized_t1 = '2012-01-24'
目前,如果我将t1标准化为:
pd.DatetimeIndex([t1, t1]).normalize()
我明白了:
DatetimeIndex(['2012-01-25', '2012-01-25'], dtype='datetime64[ns]', freq=None)
有没有办法以pythonic方式实现这一点,而不是使用if语句等。
答案 0 :(得分:2)
Using strftime
method of date time object will be,
import datetime
fmt = '%Y-%m-%d'
t1 = datetime.datetime(2012, 1, 25, 0, 0)
print t1.strftime(fmt)
答案 1 :(得分:2)
只需减去一小时,即可使日期符合您的要求。
>>> 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'
答案 2 :(得分:1)
import datetime
t1 = datetime.datetime(2012, 1, 25, 0, 0)
print "{}-{}-{}".format(t1.year, t1.month, t1.day)
输出
2012-1-25