python3练习:针对某一日期增加或减少时间、天数

datetime.strptime('date time',"%Y-%m-%d %H:%M:%S")把字符串转为日期
.strftime("%Y-%m-%d %H:%M:%S")把日期转为字符串
# 使用.strptime()把字符串转为日期:datetime.datetime.strptime('date time',"%Y-%m-%d %H:%M:%S")
# 日期增加/减少n年、n月、n天、n小时、n分钟、n秒
# timedelta函数,两个时间的间隔。
# datetime.timedelta(days=0,  weeks=0,hours=0, minutes=0,seconds=0, milliseconds=0, microseconds=0)

代码

import datetime
c = datetime.datetime.strptime('1987-1-28 06:07:08',"%Y-%m-%d %H:%M:%S")
d = datetime.timedelta(days=1)
print('原日期:',c,end='\t')
print('增加的时间:',d,end='\t')
print ('增加后日期:',(c+d).strftime("%Y-%m-%d %H:%M:%S"))

d = datetime.timedelta(weeks=1)
print('原日期:',c,end='\t')
print('增加的时间:',d,end='\t')
print ('增加后日期:',(c+d).strftime("%Y-%m-%d %H:%M:%S"))

d = datetime.timedelta(hours=10)
print('原日期:',c,end='\t')
print('增加的时间:',d,end='\t')
print ('增加后日期:',(c+d).strftime("%Y-%m-%d %H:%M:%S"))

d = datetime.timedelta(minutes=-10)                            #减少10分钟
print('原日期:',c,end='\t')
print('增加的时间:',d,end='\t')
print ('增加后日期:',(c+d).strftime("%Y-%m-%d %H:%M:%S"))

结果

原日期: 1987-01-28 06:07:08    增加的时间: 1 day, 0:00:00    增加后日期: 1987-01-29 06:07:08
原日期: 1987-01-28 06:07:08    增加的时间: 7 days, 0:00:00    增加后日期: 1987-02-04 06:07:08
原日期: 1987-01-28 06:07:08    增加的时间: 10:00:00    增加后日期: 1987-01-28 16:07:08
原日期: 1987-01-28 06:07:08    增加的时间: -1 day, 23:50:00    增加后日期: 1987-01-28 05:57:08