Python用时间戳或是一个包含9个整数的元组来处理时间,时间元组的字段含义如下:
索引 | 字段 | 值 |
---|---|---|
0 | 年 | 比如2000,2014等等 |
1 | 月 | 范围1~12 |
2 | 日 | 范围1~31 |
3 | 时 | 范围0~23 |
4 | 分 | 范围0~59 |
5 | 秒 | 范围0~61,60和61是闰秒 |
6 | 周 | 范围0~6,0表示周一 |
7 | 儒历日 | 范围1~366 |
8 | 夏令时 | 0、1或-1 |
1. 函数time(),返回当前时间的时间戳:
>>> import time
>>> time.time()
1410354277.882008
2. localtime([secs])函数,将时间戳转换为本地时间的时间元组:
>>> time.localtime()
time.struct_time(tm_year=2014, tm_mon=9, tm_mday=10, tm_hour=21, tm_min=5, tm_sec=36, tm_wday=2, tm_yday=253, tm_isdst=0)
>>> time.localtime(time.time())
time.struct_time(tm_year=2014, tm_mon=9, tm_mday=10, tm_hour=21, tm_min=5, tm_sec=58, tm_wday=2, tm_yday=253, tm_isdst=0)
3. gmtime([secs])函数,将时间戳转换为格林威治天文时间的时间元组:
>>> time.gmtime()
time.struct_time(tm_year=2014, tm_mon=9, tm_mday=10, tm_hour=13, tm_min=13, tm_sec=13, tm_wday=2, tm_yday=253, tm_isdst=0)
>>> time.gmtime(time.time())
time.struct_time(tm_year=2014, tm_mon=9, tm_mday=10, tm_hour=13, tm_min=15, tm_sec=9, tm_wday=2, tm_yday=253, tm_isdst=0)
4. asctime([tuple])函数,将时间元组转换为字符串:
>>> time.asctime()
'Wed Sep 10 21:06:56 2014'
>>> time.asctime(time.localtime())
'Wed Sep 10 21:07:16 2014
5. ctime([secs])函数,将时间戳转换为字符串:
>>> time.ctime()
'Wed Sep 10 21:17:22 2014'
>>> time.ctime(time.time())
'Wed Sep 10 21:17:44 2014'
6. mktime(tuple)函数,将时间元组转换为本地时间的时间戳:
>>> time.mktime(time.localtime())
1410354542.0
7.strftime(formate[, tuple])函数,将时间元组格式化成字符串:
Python中时间日期格式化符号:
%y 两位数的年份表示(00-99)%Y 四位数的年份表算(0000-9999)
%m 月份(01-12)
%d 月份内中的一天(0-31)
%H 24小时制小时数(00-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒数(00-59)
%a 本地简化的星期名称
%A 本地完整的星期名称
%b 本地简化的月份名词
%B 本地完整的月份名称
%c 本地相应的时间表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%s 时间戳
%U 一年中的星期数(00-53),星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53),星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名词
%% %本身
>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2014-09-10 21:43:54'
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
'2014-09-10 21:44:29'
8. strptime(string[, format])函数,将字符串解析成时间元组:
>>> time.strptime('Wed Sep 10 21:17:44 2014')
time.struct_time(tm_year=2014, tm_mon=9, tm_mday=10, tm_hour=21, tm_min=17, tm_sec=44, tm_wday=2, tm_yday=253, tm_isdst=-1)
>>> time.strptime('2008-08-08', '%Y-%m-%d')
time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=221, tm_isdst=-1)
9. sleep(secs)函数,线程休眠secs秒
>>> time.sleep(3)