Python中内嵌了time、datetime模块,首先要清楚表示时间的三种方式,分别是时间戳、格式化的时间字符串以及元组。
1)时间戳(timestamp)
时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。运行“type(time.time())”返回的float类型。返回时间戳的函数主要有time(),clock()等。
2)元组(struck_time)
struck_time元组总共有9个元素,返回struck_time的函数主要有gmtime(),localtime(),strptime()。
下面介绍一下这两个模块一些常见的函数使用。
一、首先time模块:
1)time.localtime():将时间戳转化为当前时区的struct_time。

time.localtime(1304575584.1361799) 
 time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=6, tm_sec=24, tm_wday=3, tm_yday=125, tm_isdst=0)

2)time.time():返回当前时间的时间戳。
3)time.mktime():将一个struct_time转化为时间戳。

time.mktime(time.localtime()) 
 1304576839.0

4)time.sleep():线程推迟指定的时间运行,单位为秒。
5)time.clock():在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。
6)time.strftime():把一个struct_time转化为格式化的时间字符串。

time.strftime(“%Y-%m-%d %X”, time.localtime()) 
 ‘2011-05-05 16:37:06’

7)time.strptime():把一个格式化的时间字符串转化为struct_time。

time.strptime(‘2011-05-05 16:37:06’, ‘%Y-%m-%d %X’) 
 time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=3, tm_yday=125, tm_isdst=-1)

二、datetime模块
datetime模块定义了几个类:
1)datetime.date:表示日期的类,常用的属性有year,month,day;
2)datetime.time:表示时间的类。
3)datetime.datetime:表示日期时间;
4)datetime.timedelta:表示时间间隔。
date类
1)date.today():返回一个表示当前本地时间的date对象。
2)date.fromtimestamp(timestamp):根据给定的时间戳,返回一个date对象。
3)date.timetuple():返回日期对应的time.struct_time对象。
4)date.weekday():返回weekday,如果星期一返回0。
5)date还对某些操作进行了重载,它允许我们对日期进行如下一些操作:
a、date2 = date1 + timedelta # 日期加上一个间隔,返回一个新的日期对象(timedelta将在下面介绍,表示时间间隔)
b、date2 = date1 - timedelta # 日期隔去间隔,返回一个新的日期对象
c、timedelta = date1 - date2 # 两个日期相减,返回一个时间间隔对象
d、date1 < date2 # 两个日期进行比较
注: 对日期进行操作时,要防止日期超出它所能表示的范围。
time类
像date一样,也可以对两个time对象进行比较,或者相减返回一个时间间隔对象。
datetime类
1) datetime.combine(date, time):根据date和time,创建一个datetime对象;
2)datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
3)datetime.date():获取date对象;
4)datetime.time():获取time对象;
5)像date一样,也可以对两个datetime对象进行比较,或者相减返回一个时间间隔对象,或者日期时间加上一个间隔返回一个新的日期时间对象。