2016-02-12 69 views
0

我想減去幾個月,並得到形式爲yyyymmdd的結果。 要開始我給出秒的字符串時間戳,那麼這裏就是我在做什麼:從日期時間對象python減去月份

>>> ts=1454284800 
>>> billdate = datetime.datetime.strptime(time.strftime('%Y%m%d', time.gmtime(ts)), '%Y%m%d') - datetime.timedelta(5*365/12.0) 
>>> billdate 
datetime.datetime(2015, 9, 1, 22, 0) 
>>> 

在我的片斷我。減去5個月,並獲得datetime.datetime(2015年,9,1,22, 0)。我想擺脫22小時,並得到datetime.datetime(2015,9,1,0,0)。

在此先感謝。

+0

有啥阻止你減去22天用相同屬性的日期時間,除了通過賦予新值的那些 屬性? – EdChum

+1

是不是22別的?小時? – Obsidian

回答

0

點1:22不是一天。這是幾個小時。

點2:如果你想擺脫時間和日期時間獲得了上午12:00,那就試試這個:

>>> billdate = datetime.datetime(billdate.year, billdate.month, billdate.day) 
>>> billdate 
datetime.datetime(2015, 9, 1, 0, 0) 
0

如果你想修改datetime.datetime對象的領域,你需要使用replace

billdate = billdate.replace(hour=0) 

報價從datetime維基頁面

datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])

返回取關鍵字參數都 指定