这里有新鲜出炉的Python3 Cookbook中文版,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
下面小编就为大家带来一篇python模块之time模块(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
time
表示时间的三种形式
时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
格式化的时间字符串(Format String): ‘1999-12-06'
时间格式化符号
- '''
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身
- '''
元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等
元组元素意
- """
- 索引(Index)属性(Attribute) 值(Values)
- tm_year(年) 比如2011
- tm_mon(月) 1 - 12
- tm_mday(日) 1 - 31
- tm_hour(时) 0 - 23
- tm_min(分) 0 - 59
- tm_sec(秒) 0 - 61
- tm_wday(weekday) 0 - 6(0表示周日)
- tm_yday(一年中的第几天) 1 - 366
- tm_isdst(是否是夏令时) 默认为-1
- """
python中表示时间的几种格式
- #导入时间模块
- >>>import time
- #时间戳
- >>>time.time()
- 1500875844.800804
- #时间字符串
- >>>time.strftime("%Y-%m-%d %X")
- '2017-07-24 13:54:37'
- >>>time.strftime("%Y-%m-%d %H-%M-%S")
- '2017-07-24 13-55-04'
- #时间元组:localtime将一个时间戳转换为当前时区的struct_time
- time.gmtime()
- time.localtime()
- time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,
- tm_hour=13, tm_min=59, tm_sec=37,
- tm_wday=0, tm_yday=205, tm_isdst=0)
- # 小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间
各种格式化时间之间的转换
- #时间戳-->结构化时间
- #time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致
- #time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间
- >>>time.gmtime(1500000000)
- time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
- >>>time.localtime(1500000000)
- time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
- #结构化时间-->时间戳
- #time.mktime(结构化时间)
- >>>time_tuple = time.localtime(1500000000)
- >>>time.mktime(time_tuple)
- 1500000000.0
- #结构化时间-->字符串时间
- #time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则现实当前时间
- >>>time.strftime("%Y-%m-%d %X")
- '2017-07-24 14:55:36'
- >>>time.strftime("%Y-%m-%d",time.localtime(1500000000))
- '2017-07-14'
- #字符串时间-->结构化时间
- #time.strptime(时间字符串,字符串对应格式)
- >>>time.strptime("2017-03-16","%Y-%m-%d")
- time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
- >>>time.strptime("07/24/2017","%m/%d/%Y")
- time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)
- #结构化时间 --> %a %b %d %H:%M:%S %Y串
- #time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
- >>>time.asctime(time.localtime(1500000000))
- 'Fri Jul 14 10:40:00 2017'
- >>>time.asctime()
- 'Mon Jul 24 15:18:33 2017'
- #%a %d %d %H:%M:%S %Y串 --> 结构化时间
- #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串
- >>>time.ctime()
- 'Mon Jul 24 15:19:07 2017'
- >>>time.ctime(1500000000)
- 'Fri Jul 14 10:40:00 2017'
计算时间差
- import time
- true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S'))
- time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d %H:%M:%S'))
- dif_time=time_now-true_time
- struct_time=time.gmtime(dif_time)
- print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,
- struct_time.tm_mday-1,struct_time.tm_hour,
- struct_time.tm_min,struct_time.tm_sec))
以上这篇python模块之time模块(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHPERZ。
来源: http://www.phperz.com/article/17/1027/350880.html