2016-08-01 77 views
2

我想将日期从sas,14487转换为1999-08-31。从timestemp下降小时,分钟,秒?

如何将当前结果'1999-08-31 00:00:00'转换为'1999-08-31'? 我试过ser.normalize()。但它没有帮助。

ser = pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1') 
ser.normalize() 

收率

Timestamp('1999-08-31 00:00:00') 

回答

3

normalize(根据the docs)刚复位时间到午夜。

您可以使用strftime(请参阅文档here)。此外,here是您可以使用的格式说明符列表。

ser = pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1') 
ser.strftime('%Y-%m-%d') 

输出

'1999-08-31' 
+0

感谢。任何想法为什么.normalize()不起作用? – Lisa

+0

谢谢。@ Alex任何想法。为什么.normalize()不起作用? – Lisa

+0

@ user7153欢迎!更新后回答这个问题。 – Alex

3

如果你想在一个datetime.date格式:

(pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1')).date() 
#Out: 
#datetime.date(1999, 8, 31) 
相关问题