python,时间加减,时间计算,时间格式化,时间提取汇总

python,时间加减,时间计算,时间格式化,时间提取汇总

不知道这么写题目会不会让人误会,不过这个题目可以让从搜索引擎上搜索问题的菜鸟们一下找到这篇帖子
这篇是集合了N多大大的方法 上半部是时间加减 下半部是格式化
感谢 xiaoyu9805119 carrison 3227049

给出一个完整的
#!/usr/bin/python
#coding:utf-8
import datetime
import time

format="%Y-%m-%d %H:%M:%S"
t1=time.strptime("2008-01-31 00:11:23",format)
t2=datetime.datetime(t1[0],t1[1],t1[2],t1[3],t1[4],t1[5],t1[6])
t3=t2-datetime.timedelta(minutes=30)
t3=str(t3)

b1=t3[0:4]
b2=t3[5:7]
b3=t3[8:10]
b4=t3[11:13]
b5=t3[14:16]
b6=t3[-2:]

print b1
print b2
print b3
print b4
print b5
print b6

另一种 时间格式化方法 xiaoyu9805119 提供
a="2009-02-15 21:00:08"
import re
s=re.split("\D*",a)
print s

另一种 时间加减方法 3227049提供
import datetime,time

format="%Y-%m-%d %H:%M:%S"

result=datetime.datetime(*time.strptime("2008-01-31 00:11:23",format)[:6])-datetime.timedelta(minutes=30)

print result.strftime(format)


再次感谢
感谢楼主整理出来。呵呵。
请教一个问题,比方求今天的前一天的月份与日期怎么求,
不知还有哪些比下面的更简单些的方法:

[Copy to clipboard] [ - ]
CODE:
#-*-coding=gbk
import datetime,time

format="%m月%d日"
s=time.strftime('%m月%d日')
result=datetime.datetime(*time.strptime(s,format)[:3])-datetime.timedelta(1)

print result.strftime(format)

日期加减用timedelta比较简单点,貌似没有比这个更简单些的方法了。
unix时间戳也可以的,不过范围局限比较大