Python日期处理
日期的操作使用time或datetime库
日期格式串说明:
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%j 年内的一天(001-366)
%m 月份(01-12)
%M 分钟数(00=59)
%p 本地A.M.或P.M.的等价符
%S 秒(00-59)
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%Z 当前时区的名称
%% %号本身
============================================
日期初始化:
d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)
日期相减:
print (d1 - d2).days
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
上例演示了计算运行时间的例子,以秒进行显示。
使用timedelta进行加减:
d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)
print str(d3)
print d3.ctime()
上例演示了计算当前时间向后10天的时间。
如果是小时 days 换成 hours
其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。
time , datetime , string 类型互相转换
1. string -> time
time.strptime(publishDate,"%Y-%m-%d %H:%M:%S")
2. string -> datetime
datetime.datetime.strptime(publishDate,"%Y-%m-%d %H:%M:%S")
3. time -> string
time.strftime("%y-%m-%d",time.localtime())
date = '2007-01-01'
t = time.strptime(date,"%Y-%m-%d") #struct_time类型
d = datetime.datetime(date[0], date[1],date[2]) #datetime类型
将日期时间对象转成字符串
date = time.strftime("%y-%m-%d",d)