2016-07-25 194 views
0

使用Python的時間戳和意外行爲

my_timestamp當我得到一個令人困惑的結果

Timestamp('2015-06-01 00:00:00')

my_timestamp + relativedelta(月= +4)

Timestamp('2015-04-01 00:00:00')

當然,我預計輸出Timestamp('2015-10-01 00:00:00')

什麼是「幾個月」添加到日期的正確方法是什麼?


[編輯]:因爲我已經使用解決了這個以下(在大熊貓萬一有人有同樣的問題):

打印my_timestamp
打印my_timestamp + DateOffset(月= 4)

2015-06-01 00:00:00
2015-10-01 00:00:00

回答

2

問題是您使用了錯誤的關鍵字參數。您需要months而不是month

the documentation, month表示絕對信息(不相對),並簡單地替換給定的信息,因爲你注意到。使用months表示相關信息,並按照您的預期執行計算:

Timestamp('2015-06-01 00:00:00') + relativedelta(months=4) 

2015-10-01 00:00:00