前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >time模块

time模块

作者头像
py3study
发布2020-01-21 15:08:27
6140
发布2020-01-21 15:08:27
举报
文章被收录于专栏:python3python3

在Python中,用三种方式来表示时间,分别是时间戳、格式化时间字符串结构化时间

获取时间戳: time.time() ====>如1506388236.216345

获取格式化时间字符串(str f time): time.strftime('%Y-%m-%d %H:%M:%S') ====>如2017-09-26 09:12:48

注意其中的空格、短横线和冒号都是美观修饰符号,真正起控制作用的是百分符。对于格式化控制字符串"%Y-%m-%d %H:%M:%S,其中每一个字母所代表的意思如下表所示,注意大小写的区别:

格式 含义 %a 本地星期名称的简写(如星期四为Thu) %A 本地星期名称的全称(如星期四为Thursday) %b 本地月份名称的简写(如八月份为agu) %B 本地月份名称的全称(如八月份为august) %c 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06) %d 一个月中的第几天(01 - 31) %f 微秒(范围0.999999) %H 一天中的第几个小时(24小时制,00 - 23) %I 第几个小时(12小时制,0 - 11) %j 一年中的第几天(001 - 366) %m 月份(01 - 12) %M 分钟数(00 - 59) %p 本地am或者pm的标识符 %S 秒(00 - 61) %U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之 前的所有天数都放在第0周。 %w 一个星期中的第几天(0 - 6,0是星期天) %W 和%U基本相同,不同的是%W以星期一为一个星期的开始。 %x 本地相应日期字符串(如15/08/01) %X 本地相应时间字符串(如08:08:10) %y 去掉世纪的年份(00 - 99)两个数字表示的年份 %Y 完整的年份(4个数字表示年份) %z 与UTC时间的间隔(如果是本地时间,返回空字符串) %Z 时区的名字(如果是本地时间,返回空字符串) %% ‘%’字符

获取结构化时间: time.localtime() ====>如time.struct_time(tm_year=2017, tm_mon=9, tm_mday=26, tm_hour=9, tm_min=14, tm_sec=50, tm_wday=1, tm_yday=269, tm_isdst=0)

结构化时间元组共有9个元素(可以通过time.struct_time()['tm_mon']的方式来取值),按顺序排列如下表:

索引 属性 取值范围 0 tm_year(年) 比如2017 1 tm_mon(月) 1 - 12 2 tm_mday(日) 1 - 31 3 tm_hour(时) 0 - 23 4 tm_min(分) 0 - 59 5 tm_sec(秒) 0 - 61 6 tm_wday(weekday) 0 - 6(0表示周一) 7 tm_yday(一年中的第几天) 1 - 366 8 tm_isdst(是否是夏令时) 默认为-1

time模块的主要方法:

1. time.sleep(t) time模块最常用的方法之一,用来睡眠或者暂停程序t秒,t可以是浮点数或整数。

2. time.time() 返回当前系统时间戳。时间戳可以做算术运算。

3. time.ctime([secs]) 时间戳---->格式化字符串。默认使用time.time()作为参数。

4. time.strftime("format",time.localtime()) 返回当前系统格式化时间。结构化时间---->格式化时间,显示的格式由参数format决定。如果未指定t,默认传入time.localtime()。如果元组中任何一个元素越界,就会抛出ValueError的异常。 >>> time.strftime("%Y-%m-%d %H:%M:%S") '2017-09-26 10:34:50' >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) '2017-09-26 02:34:53'

5. time.strptime(string,"format") 格式化时间---->结构化时间。time.strptime()方法根据指定的格式把一个时间字符串解析为时间元组。要注意的是,你提供的字符串要和format参数的格式一一对应,如果string中日期间使用“-”分隔,format中也必须使用“-”分隔,时间中使用冒号“:”分隔,后 面也必须使用冒号分隔,否则会报格式不匹配的错误。 >>> stime = "2017-09-26 12:11:30" >>> st = time.strptime(stime,"%Y-%m-%d %H:%M:%S") >>> st time.struct_time(tm_year=2017, tm_mon=9, tm_mday=26, tm_hour=12, tm_min=11, tm_sec=30, tm_wday=1, tm_yday=269, tm_isdst=-1)

6. time.localtime([secs]) 返回当前系统的结构化时间。如果secs参数未提供,则以当前时间为准,即time.time()。

7. time.mktime(time) 结构化时间---->时间戳。time.mktime()执行与localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数(如果输入的值不是一个合法的时间,将触发OverflowError或ValueError)。

8. time.asctime(time) 结构化时间---->Sun Aug 23 14:31:59 2017这种形式的格式化时间字符串。默认将time.localtime()作为参数。

时间格式之间的转换:

从                      到                          方法 时间戳              UTC结构化时间                        gmtime() 时间戳                本地结构化时间                         localtime() UTC结构化时间            时间戳                             calendar.timegm() 本地结构化时间            时间戳                             mktime() 结构化时间              格式化字符串                          strftime() 格式化字符串             结构化时间                           strptime()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档