python用datetime模块做时间相减

经常要用到,就记录下来以便以后查阅。

首先需要导入datetime模块

import datetime
当前时间减1天
>>> datetime.datetime.now() - datetime.timedelta(days=1)

datetime.datetime(2013, 5, 6, 10, 22, 29, 839055)
当前时间减1小时,只输出小时的字段
>>> x= datetime.datetime.now() - datetime.timedelta(hours=1)

>>> x.strftime(‘%H’)

‘09’
示例

现在有个’2013-05-06’的字符串,需要取它前10天的日期,以相同的格式输出

>>> import datetime

>>> x=’2013-05-06’

>>> y=datetime.datetime.strptime(x,’%Y-%m-%d’) #####转换成datetime的格式

>>> y

datetime.datetime(2013, 5, 6, 0, 0)

>>> z = y - datetime.timedelta(days=10)

>>> z.strftime(‘%Y-%m-%d’)

‘2013-04-26’