最新要闻
- 厦门钨业于云南新设科技发展子公司:企查查APP显示,近日,云南厦钨科技发展有限公司成立,注册资本100万元,经营范围包含 全球热文
- 全球热头条丨电池原材料价格大跌坑到宁王?宁德时代回应
- 天天快讯:每小时1000公里 !我国“高速飞车”研制取得新进展
- 每日热讯!马斯克请回来的4D成像雷达 百度小米蔚来也押注了:战况很激烈
- 《天宫之镜》上线:首次慢直播中国空间站-天天实时
- 每日焦点!同飞股份4月24日盘中涨幅达5%
- 最后时刻单防福克斯!追梦:如果这让你感觉不好 我很抱歉
- 北京国际电影节有哪些看点?
- 最新:美国迪士尼乐园13米巨龙起火 观众还以为是新节目
- 全球速看:酷派COOL30 Pro来了:LCD水滴屏+2.4GHz八核CPU
- 特斯拉市值一周蒸发逾5000亿 分析师补刀:还能跌85%
- 一加Ace 2原神定制礼盒太火爆!3699元首销售罄
- 新资讯:全球连线|菲律宾榴莲加速进军中国
- 焦点观察:国泰4月24日起送2.7万张免费机票,附参加方法
- 天天热文:漯河郾城区新店镇:打好“三张牌” 聚力招商引资新突破
- 今日热闻!14款新车哪个最拉胯?中保研新一轮测试成绩公布:结果惊人
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前快看:python工具模块介绍-time 时间访问和转换
快速入门
In [1]: import time# 获取当前时间In [25]: time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime()) Out[25]: "2018-06-17_20-05-36"# 停顿0.5秒In [26]: time.sleep(0.5)
简介
功能:时间访问和转换。
(相关资料图)
相关模块:
datetime 标准模块。calendar 标准模块。
下面介绍一些术语和约定:
epoch是时间开始点。对于Unix ,时代是1970年1月1日0点。通过time.gmtime(0)可以查看时间的起点:
In [1]: import timeIn [2]: time.gmtime(0)Out[2]: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)In [3]: time.gmtime(time.time() + 786041553) # 32位会报错Out[3]: time.struct_time(tm_year=2043, tm_mon=5, tm_mday=8, tm_hour=6, tm_min=26, tm_sec=50, tm_wday=4, tm_yday=128, tm_isdst=0)
对于32位的linux系统,时间只能处理到2038年。现在新发布的主流已经全部是64位版本。
UTC是协调世界时(前身为格林威治标准时间或GMT)。
DST为夏令时,通常是根据当地法律在一年内的部分时间进行一小时的调整。 C库包含有当地规则的表。
实时函数的精度可能比建议的要低。例如在大多数Unix系统中,时钟“滴答”只有50或100次每秒。
不过time()和sleep()比Unix的更好:时间为浮点数,time()的返回确保最精确(尽量使用Unix的函数gettimeofday()) ,sleep()接受的时间为非零分数(尽量用select()实现) 。
gmtime(), localtime()和strptime()的返回是包含9个整数的序列,可以作为asctime(), mktime() and strftime()的输入,每个域都有自己的属性,实际上是一个结构体struct_time,参见上面的例子。
时间转换:gmtime()把浮点时间转为UTC的struct_time,反之calendar.timegm();localtime()把浮点时间转为local的struct_time,反之mktime()。实际上calendar.timegm()和mktime()是等效的,不过前者返回整数,后者返回浮点数。
时间生成与转换
生成epoch的浮点数,注意不同的系统精度不同,linux一般是小数点后面7为,windows一般是小数点后3位。Time函数是没有参数的。可以直接对返回的浮点数进行计算。gmtime([secs])把浮点时间转为UTC的struct_time,如果无输入参数为空会调用time()读取当前时间。gmtime显示的是世界协调时间, localtime([secs])可以显示本地时间。注意夏时制要设置dst。asctime([t])显示时间为可读性好的格式,它把gmtime(), localtime()和strptime()的返回的struct_time类型转换为可读性较好的格式。如果输入参数为空则调用localtime()的返回结果。它和c函数不同的地方是末尾不会添加换行。asctime不会使用Locale信息。
ctime([secs])在asctime上更进一步,转换浮点数为可读性较好的格式,相当于asctime(localtime(secs)), 这个功能很常用。ctime不会使用Locale信息。
In [1]: import timeIn [2]: time.gmtime(0)Out[2]: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)In [3]: time.gmtime(time.time() + 786041553)Out[3]: time.struct_time(tm_year=2043, tm_mon=5, tm_mday=8, tm_hour=6, tm_min=26, tm_sec=50, tm_wday=4, tm_yday=128, tm_isdst=0)In [4]: time.time()Out[4]: 1528637996.277831In [5]: time.gmtime()Out[5]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=10, tm_hour=13, tm_min=42, tm_sec=47, tm_wday=6, tm_yday=161, tm_isdst=0)In [6]: time.localtime()Out[6]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=10, tm_hour=21, tm_min=43, tm_sec=54, tm_wday=6, tm_yday=161, tm_isdst=0)In [7]: time.asctime()Out[7]: "Sun Jun 10 22:10:14 2018"In [8]: time.ctime()Out[8]: "Sun Jun 10 22:12:25 2018"
Sleep
sleep(secs)暂停执行指定秒数。参数可以是整数或浮点数。实际的中止时间可能小于请求时间,因为例行的信号捕捉可能终止sleep。此外中止时间可能长于请求时间,因为因为系统调度也是需要时间的。
In [36]: time.sleep(3)
处理器时间
clock()在Unix上,返回当前的处理器时间,为以秒表示的浮点数。精度决于同名的C函数,通常用于基准Python或定时的算法。我们书写一个不耗cpu和耗cpu的脚本对比:
import timetemplate = "{} - {:0.2f} - {:0.2f}"print(template.format( time.ctime(), time.time(), time.clock()))for i in range(3, 0, -1): print("Sleeping", i) time.sleep(i) print(template.format( time.ctime(), time.time(), time.clock()) )
执行结果:
$ python3 time_clock_sleep.py Mon Jun 18 01:27:52 2018 - 1529256472.83 - 0.05Sleeping 3Mon Jun 18 01:27:55 2018 - 1529256475.83 - 0.05Sleeping 2Mon Jun 18 01:27:57 2018 - 1529256477.83 - 0.05Sleeping 1Mon Jun 18 01:27:58 2018 - 1529256478.83 - 0.05
import hashlibimport time# Data to use to calculate md5 checksumsdata = open(__file__, "rb").read()for i in range(5): h = hashlib.sha1() print(time.ctime(), ": {:0.3f} {:0.3f}".format( time.time(), time.clock())) for i in range(300000): h.update(data) cksum = h.digest()
执行结果:
$ python3 time_clock.py Mon Jun 18 01:31:35 2018 : 1529256695.695 0.048Mon Jun 18 01:31:36 2018 : 1529256696.166 0.519Mon Jun 18 01:31:36 2018 : 1529256696.635 0.987Mon Jun 18 01:31:37 2018 : 1529256697.110 1.461Mon Jun 18 01:31:37 2018 : 1529256697.587 1.936
struct_time类
struct_time是的命名元组,结构如下:
| 索引(Index) | 属性(Attribute) | 值(Values) || 0 | tm_year(年 | 比如2013 || 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 |
import timedef show_struct(s): print " tm_year :", s.tm_year print " tm_mon :", s.tm_mon print " tm_mday :", s.tm_mday print " tm_hour :", s.tm_hour print " tm_min :", s.tm_min print " tm_sec :", s.tm_sec print " tm_wday :", s.tm_wday print " tm_yday :", s.tm_yday print " tm_isdst:", s.tm_isdstprint "gmtime:"show_struct(time.gmtime())print "\nlocaltime:"show_struct(time.localtime())print "\nmktime:", time.mktime(time.localtime())
执行结果:
$ python3 time_struct.py gmtime: tm_year : 2018 tm_mon : 6 tm_mday : 17 tm_hour : 17 tm_min : 32 tm_sec : 54 tm_wday : 6 tm_yday : 168 tm_isdst: 0localtime: tm_year : 2018 tm_mon : 6 tm_mday : 18 tm_hour : 1 tm_min : 32 tm_sec : 54 tm_wday : 0 tm_yday : 169 tm_isdst: 0mktime: 1529256774.0
参考资料
参考资料
- python好书下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
- https://docs.python.org/3/library/time.html
- https://pymotw.com/3/time/index.html
- http://effbot.org/librarybook/time.htm
- 代码地址
时区
重置库函数的时间转换规则。实际上是修改环境变量TZ,python 2.3以后类linux支持该功能,这个功能相对不是那么常用。TZ环境变量的格式如下:
std offset [dst [offset [,start[/time], end[/time]]]]
STD和DST为时区缩写。hh[:mm[:ss]],表示加上这个时间可以得到UTC时间。偏移量的形式为: HH [ : MM [ : SS] ],夏时制增加1小时。
starttime, endtime表示使用夏时制的区间。time和偏移类似,默认时间是02:00:00。比如:
In [1]: import osIn [2]: import timeIn [3]: os.environ["TZ"] = "EST+05EDT,M4.1.0,M10.5.0"In [4]: time.tzset()In [5]: time.strftime("%X %x %Z")Out[5]: "13:38:26 06/17/18 EDT"In [6]: os.environ["TZ"] = "AEST-10AEDT-11,M10.5.0,M3.5.0"In [7]: time.tzset()In [8]: time.strftime("%X %x %Z")Out[8]: "03:38:46 06/18/18 AEST"
在许多Unix系统(包括* BSD,Linux和Solaris,和Darwin),使用系统时区数据库更方便。
In [9]: os.environ["TZ"] = "US/Eastern"In [10]: time.tzset()In [11]: time.tznameOut[11]: ("EST", "EDT")In [12]: os.environ["TZ"] = "Egypt"In [13]: time.tzset()In [14]: ("EET", "EEST")Out[14]: ("EET", "EEST")
另一实例:
import timeimport osdef show_zone_info(): print " TZ :", os.environ.get("TZ", "(not set)") print " tzname:", time.tzname print " Zone : %d (%d)" % (time.timezone, (time.timezone / 3600)) print " DST :", time.daylight print " Time :", time.ctime() printprint "Default :"show_zone_info()ZONES = [ "GMT", "Europe/Amsterdam", ]for zone in ZONES: os.environ["TZ"] = zone time.tzset() print zone, ":" show_zone_info()
执行结果:
$ python3 time_timezone.py Default : TZ : (not set) tzname: ("CST", "CST") Zone : -28800 (-8.0) DST : 0 Time : Mon Jun 18 01:40:39 2018GMT : TZ : GMT tzname: ("GMT", "GMT") Zone : 0 (0.0) DST : 0 Time : Sun Jun 17 17:40:39 2018Europe/Amsterdam : TZ : Europe/Amsterdam tzname: ("CET", "CEST") Zone : -3600 (-1.0) DST : 1 Time : Sun Jun 17 19:40:39 2018
格式化
time.strftime(format[, t]):把一个代表时间的元组或者struct_tim转为格式化的时间字符串。如果t未指定,将调用time.localtime()的返回作为输入。如果输入中任何一个元素越界将报ValueError异常。格式化参数如下:
格式 | 含义 | 备注 |
---|---|---|
%a | 本地简化星期名 | |
%A | 本地完整星期名 | |
%b | 本地简化月份名 | |
%B | 本地完整月份名称 | |
%c | 本地相应的日期和时间表示 | |
%d | 日期(01 - 31) | |
%H | 小时(24小时制,00 - 23) | |
%I | 小时(12小时制,01 - 12) | |
%j | 天数(基于年)(001 - 366) | |
%m | 月份(01 - 12) | |
%M | 分钟(00 - 59) | |
%p | 显示am或pm的标识 | |
%S | 秒(01 - 61) | |
%U | 周数(基于年)(00 – 53周日是星期的开始。)第一个周日之前的所有天数都放在第0周。 | |
%w | 星期中的天数(0 - 6,0是星期天) | |
%W | 和%U基本相同,以星期一为星期的开始。 | |
%x | 本地相应日期表示 | |
%X | 本地相应时间表示 | |
%y | 去掉世纪的年份(00 - 99) | |
%Y | 完整的年份 | |
%Z | 时区的名字(如果不存在为空字符) | |
%% | "%’字符 |
备注:
“%p”只有与“%I”配合使用才有效果。
秒是0 - 61,而不是59,以处理闰秒和双闰秒。
当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。
比如:
In [15]: time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime())Out[15]: "Sun, 17 Jun 2018 17:44:12 +0000"
下面方式在给文件名等添加时间戳比较有用:
In [17]: time.strftime("%Y-%m-%d_%H:%M:%S", time.gmtime())Out[17]: "2018-06-17_17:46:18"
显示格式可能因系统而又不同的差异。
time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作,参数参见strftime。Format默认为"%a %b %d %H:%M:%S %Y",和ctime的返回格式一致,没有提供的值会采用默认值(1900, 1, 1, 0, 0, 0, 0, 1, -1)。
In [19]: time.strptime("30 Nov 18", "%d %b %y") ...: Out[19]: time.struct_time(tm_year=2018, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=334, tm_isdst=-1)
其他
altzone属性查看当前夏时制时间的偏移。daylight属性查看是否使用了夏时制。timezone查看当前时区的偏移。Tzname返回本地时区和夏时制对应的时区。
In [3]: time.altzoneOut[3]: -28800In [4]: time.daylightOut[4]: 0In [5]: time.timezoneOut[5]: -28800In [6]: time.tznameOut[6]: ("CST", "CST")
关键词:
-
盘点| 有哪些比较新的好用的React Native 开发工具? 天天最新
2015年,FaceBook首次开发并发布ReactNative框架,用于构建原始的移动应用程序。ReactNative的特点是使用Ja
来源: -
当前快看:python工具模块介绍-time 时间访问和转换
快速入门In[1]:importtime 获取当前时间In[25]:time strftime("%Y-%m-%d_%H-%M-%S",time localti
来源: -
厦门钨业于云南新设科技发展子公司:企查查APP显示,近日,云南厦钨科技发展有限公司成立,注册资本100万元,经营范围包含 全球热文
厦门钨业于云南新设科技发展子公司:企查查APP显示,近日,云南厦钨科技发展有限公司成立,注册资本100万元
来源: 盘点| 有哪些比较新的好用的React Native 开发工具? 天天最新
快看点丨技术干货|如何利用 ChunJun 实现数据实时同步?
当前快看:python工具模块介绍-time 时间访问和转换
厦门钨业于云南新设科技发展子公司:企查查APP显示,近日,云南厦钨科技发展有限公司成立,注册资本100万元,经营范围包含 全球热文
全球热头条丨电池原材料价格大跌坑到宁王?宁德时代回应
天天快讯:每小时1000公里 !我国“高速飞车”研制取得新进展
每日热讯!马斯克请回来的4D成像雷达 百度小米蔚来也押注了:战况很激烈
《天宫之镜》上线:首次慢直播中国空间站-天天实时
每日焦点!同飞股份4月24日盘中涨幅达5%
焦点报道:C#用dynamic一行代码实现反射操作
最后时刻单防福克斯!追梦:如果这让你感觉不好 我很抱歉
北京国际电影节有哪些看点?
最新:美国迪士尼乐园13米巨龙起火 观众还以为是新节目
全球速看:酷派COOL30 Pro来了:LCD水滴屏+2.4GHz八核CPU
特斯拉市值一周蒸发逾5000亿 分析师补刀:还能跌85%
一加Ace 2原神定制礼盒太火爆!3699元首销售罄
新资讯:全球连线|菲律宾榴莲加速进军中国
SpringSecurity框架教程-简介与SpringSecurity框架教程-入门案例准备工作_每日简讯
每日视讯:顶象推出应用隐私合规检测服务
如何用 DataTester 设计并创建可视化实验-全球微速讯
焦点观察:国泰4月24日起送2.7万张免费机票,附参加方法
天天热文:漯河郾城区新店镇:打好“三张牌” 聚力招商引资新突破
今日热闻!14款新车哪个最拉胯?中保研新一轮测试成绩公布:结果惊人
简讯:公司招聘运营称已婚双休未婚单休 求职者称歧视:网友热议没啥问题
宏碁发布史上最强迷你机圣盾X:i9-13900KS、RTX 4090无可挑剔|世界看热讯
微星推新BIOS限制7000X3D系列CPU电压 避免CPU毁损风险|天天视讯
世界快看点丨汽车级磷酸铁锂 针刺不起火!绿联、比亚迪户外电源3699元新低
新恒结衣的垣怎么念?新垣结衣个人介绍
中国第二大城市是哪个?中国第二大城市介绍
批准为荷是什么意思?批准为荷和批准为盼哪个更好?
孔雀蓝是什么颜色?孔雀蓝的rgb色值是多少?
任务管理器中的进程是什么意思?任务管理器中的进程怎么关闭?
MP3音乐文件破损是什么原因?MP3音乐文件破损怎么修复?
高血压的症状表现有哪些?高血压怎么调理才能彻底根除?
痛风一般有哪些症状?痛风会导致哪些严重后果?
可以用鼠标在电脑上写字的软件有哪些?怎么用鼠标拖动改变工作表标签的先后位置?
千与千寻迅雷下载 720p_千与千寻迅雷下载链接|环球快讯
Linux下Nginx安装证书_世界热门
2023最新kali安装教程 头条
分享一波免费可用的 API 大全|每日视点
笔记本怎么下载软件到桌面?笔记本怎么下载播放器?
环球今亮点!吃烧烤不应成为一场“战斗” 淄博在激流中需要保持清醒
世界球精选!一季度全国城镇新增就业297万人
环球滚动:景区完成特种设备隐患排查
全球热资讯!努比亚Z50把骁龙8 Gen2干到2500以内!倪飞:这才是旗舰焊门员
30寸巨屏+怀挡!别克全新君越内饰亮相:整车改头换面|报道
普通百姓也能用卫星遥感技术!这款手机APP快来了
全球观速讯丨李想:个人本意反对哨兵模式、延迟数月推出因考虑兼容车型
买了都说好!楠木之舟一体成型EVA拖鞋狂促:立省25元_环球视讯
归母净利润增幅超125% 铝合金精密压铸件龙头企业美利信登陆A股 最新快讯
使用nodejs编写api接口并部署到服务器上-前沿资讯
防伪底纹制作教程(防伪底纹制作)
Mysteel:家电原材料周报(4.17-4.21) 世界焦点
全球观焦点:比亚迪驱逐舰07动力信息曝光:加速7.9秒、亏电百公里油耗3.9升
每日报道:五一民宿现涨价毁约潮 房东各种奇葩借口:专家称构成欺诈可退一赔三
【新要闻】淄博烧烤小饼遭疯抢:老板因太忙暴瘦20斤
三摄镜头模组瞩目!大疆Mavic 3 Pro外观细节现身
世界聚焦:首次!中国绘制火星全球影像图发布:国内名镇上火星
成分股是什么意思在哪里能看到_成分股是什么意思-焦点精选
今日热文:年薪70万的全栈需要什么技能?
今日热门!证监会承接企业债发行审核职责落地
播报:“在香港生仔要够胆”?香港为“生育率全球最低”想招
小米空调突破性技术创新:获评国际领先
降价800元!华为Mate 50系列更新:鸿蒙更丝滑、4G信号比苹果13更快了
核污水马上排海!还敢吃海鲜吗 日本在售海豚肉测出汞含量超标近百倍 当前最新
鱼干的做法家常做法大的鱼干_鱼干的做法
企业债发审职责划转无缝衔接 证监会核发首批注册批文
每日信息:【国际大宗商品早报】农产品及金属期价全线下跌 国际油价震荡收涨
【读财报】3月上市猪企业绩向好:牧原、温氏销量领先 唐人神收入同比翻倍
广西壮族自治区宾阳县发布暴雨红色预警
老鼠半夜按门铃输密码吓坏房主 网友直呼不可思议:老鼠成精了|当前速看
环球报道:你在城市待遇如何?一季度全国居民收入榜出炉:12个省份跻身“万元户”
赢麻!美公司高管狂赞坐中国高铁比坐飞机还好:马斯克力挺-当前滚动
iPadOS 17支持设备清单曝光:多款经典机型被抛弃
bill to 环球新视野
学系统集成项目管理工程师(中项)系列11a_沟通管理(上)|每日关注
CSA动态 | 这个航天日,青年如何相聚?2023年中国宇航学会“青聚巢湖”青年科学家论坛即将开讲!
显示器屏幕为何越来越扁?原因找到了
暇日过在伯因而留饭_对于暇日过在伯因而留饭简单介绍 世界微速讯
全球观天下!cobalt strike渗透框架
【视频版】基于飞腾芯片的设计与调试入门指导-环球快资讯
软件工程基础作业——原型设计
【天天播资讯】Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略
RTX 4090买一送一?满满都是套路啊
知名游戏网站VGtime最后3名编辑被开除:与资方冲突 不同意脚本取代原创 世界观天下
咸肉菜饭的做法_方法你学会了吗
环球新动态:法治微评:全力整治饭圈文化,严禁劣迹艺人随意变相复出捞金
爱书之人写给书的情歌-要闻
中复电讯官网 世界热文
欧莱雅毛孔紧致精华素
头孢三代抗生素有哪些作用_头孢三代抗生素有哪些
资讯:WTA明年有望出新规:TOP30球员不准参加250赛?让强者更强
全球今日报丨绿色“领跑”助力制造业高质量发展交流会佛山举行
方法
【环球聚看点】线性SVM决策过程的可视化
凤凰公园在哪里_凤凰公园占地面积|每日快报
女主变成拉拉 索尼大作《西之绝境》DLC评分再跌 差评持续上涨-全球聚焦
订不到酒店咋办?淄博一影院看末场电影可免费夜宿至早晨7点
人工智能会如何影响东南亚的产业发展︱南洋飞语 环球关注
世界焦点!kafka设计理念解析