Python 内置模块之 时间模块 time

time模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar

必要说明:
这个模块的功能不是适用于所有的平台
这个模块中定义的大部分函数是调用C平台上的同名函数实现

一些术语和约定的解释:

  1. 时间戳(timestamp)的方式,返回的是float类型:通常来说,时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0)此模块中的函数无法处理1970纪元年以前的时间或太遥远的未来(处理极限取决于C函数库,对于32位系统而言,是2038年)
  2. UTC(Coordinated Universal Time,世界协调时)也叫格林威治天文时间,是世界标准时间.在我国为UTC+8
  3. DST(Daylight Saving Time)即夏令时
  4. 一些实时函数的计算精度可能不同

表示时间的三种方式

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_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个元素(年,月,日,时,分,秒,一年中第几周,一年中第几天,是否是夏令时),gmtime(),localtime()和strptime()以时间元祖(struct_time)的形式返回

索引(Index)属性(Attribute)值(Values)
0tm_year(年)比如2011
1tm_mon(月)1 - 12
2tm_mday(日)1 - 31
3tm_hour(时)0 - 23
4tm_min(分)0 - 59
5tm_sec(秒)0 - 60
6tm_wday(weekday)0 - 6(0表示周一)
7tm_yday(一年中的第几天)1 - 366
8tm_isdst(是否是夏令时)默认为0
import time
# time() 返回当前时间的一个时间戳,(1970元年后的浮点秒数)
print(time.time())   # 1525509143.3561425 (这是一个时间戳)# localtime() 将一个时间戳(1970纪元年后经过的浮点秒数)转化为当前地区的一个struct_time(),未设置默认为当前时间
print(time.localtime(1525509143.3561425))
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0)# ctime([secs]) 把一个时间戳(按秒计算的浮点数)转化为格式化时间字符串。默认参数是time.time() 
print(time.ctime()) # Sat May 5 16:54:30 2018# gmtime() 与localtime类似,时间戳转化为struct_time不过返回的UTC世界标准时间。
print(time.gmtime(1525509143.3561425))
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=8, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0)# mktime() 将一个strut_time 转化为时间戳(1970纪元年后经过的浮点秒数)
print(time.mktime(time.localtime()))       # 1525509143.3561425 
# asctime([t]) 把一个struct_time转化为格式化时间字符串。默认参数time.localtime()
print(time.asctime())                      # Sat May 5 16:52:07 2018# strftime(format[,t]) 把一个struct_time转化为格式化的时间字符串,默认参数time.localtime(),如果元组中任命一个元素越界,将会抛出ValueError异常
print(time.strftime("%b %d %Y %H:%M:%S", time.localtime()))  # Jan 14 2019 10:29:54
print(time.strftime("%Y %m %d %X",time.localtime()))         # 2018 05 05 17:04:49
# strptime(string[,format]) 把一个格式化时间字符串转化为struct_time,实际上它和strftie()是逆操作 
print(time.strptime('14 2019 10:29:54','%d %Y %H:%M:%S'))
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=14, tm_hour=10, tm_min=29, tm_sec=54, tm_wday=0, tm_yday=14, tm_isdst=-1)# clock() 第一次返回的是程序运行时间,第二个是和第一个clock直接的时间差。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)
# python3.3以后不被推荐使用,该方法依赖操作系统,建议使用per_counter(返回系统运行时间)或process_time(返回进程运行时间)代替
print(time.clock())  #4.72616147781398e-07  这个数基本等于0
time.sleep(2)
print(time.clock())   #1.9999187100225817  等于2# altzone()           返回格林威治西部的夏令时地区的偏移秒数,如果该地区在格林威治东部会返回负值(如西欧,包括英国),对夏令时启用地区才能使用 
time.daylight         如果夏令时被定义,则该值为非零 
time.perf_counter()   返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间.由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的 
time.process_time()   返回当前进程执行CPU的时间总和,不包含睡眠时间.由于返回值的基准点是未定义的,所以只有连续调用的结果之间的差才是有效的 
time.sleep(secs)      推迟调用线程的运行,secs的单位是秒 
time.timezone()       是当地时区(未启动夏令时)距离格林威治的偏移秒数(美洲>0,欧洲大部分,亚洲,非洲<=0) 
time.tzname           包含两个字符串的元组,第一是当地夏令时区的名称,第二是当地的DST时区的名称

小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的

几种格式之间的转换,放网络收集图

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux找link原路径,readlink命令找出符号链接所指向的位置

1.释义找出符号链接所指向的位置2.系统帮助用法&#xff1a;readlink [选项]... 文件...输出符号链接值或权威文件名。-f, --canonicalize递归跟随给出文件名的所有符号链接以标准化&#xff0c;除最后一个外所有组件必须存在-e, --canonicalize-existing递归跟随给出文件名的所…

国产毫米波雷达领域的领头羊,木牛科技将在明年量产77GHz汽车雷达

国内的汽车毫米波雷达市场风潮起于2015年前后&#xff0c;彼时国内的毫米波雷达企业已经发展很多年&#xff0c;但大都在军工领域。 面对突然出现的汽车毫米波雷达市场热潮&#xff0c;国内很快涌现出了一大批雷达的初创企业&#xff0c;努力挤进这一亦新亦旧的市场。 说是新&a…

面试风云录(02) - 与顶级CTO交手的难忘经验...

大部分面试都是寻找团队伙伴或成员&#xff0c;很少是面试高层&#xff0c;因为职级比我们高的人&#xff0c;自然会有更高层的人面试他们&#xff0c;但这次分享的不是一般面试&#xff0c;而是我跟顶级CTO交手的经验&#xff0c;尽管为了顾虑当事人隐私&#xff0c;我已经隐去…

MySQL 之 performance_schema

背景&#xff1a; 自 MySQL5.5开始&#xff0c;MySQL新增了一个数据库&#xff1a;PERFORMANCE_SCHEMA&#xff0c;主要用于收集数据库服务器性能参数。此库中表的存储引擎均为PERFORMANCE_SCHEMA&#xff08;用户不能创建存储引擎为PERFORMANCE_SCHEMA的表&#xff09;。MySQ…

DNS解析原理与Bind部署DNS服务

DNS是什么&#xff1f; DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网上最核心的带层级的分布式系统&#xff0c;它负责把域名转换为IP地址、反查IP到域名的反向解析以及宣告邮件路由等信息&#xff0c;使得基于域名提供服务称为可能&#xff0c…

qt 获取本机的wifi密码_还在记密码?这款开源免费的账号密码管理神器赶紧收了...

工作中涉及到得账号密码&#xff0c;你是怎么记录得&#xff1f;如果是文档word或者excel记录&#xff0c;那么回非常麻烦&#xff0c;每次还得打开。如果是浏览器自己记录&#xff0c;如果更新密码&#xff0c;又记不得。尴尬&#xff01;今天大卫给大家推荐一款开源免费得账号…

adaptec raid linux,adaptecraid卡管理软件在windows和linux下的安装使用介绍(7页)-原创力文档...

adaptec raid卡管理软件在 windows和linux下的安装使用文档l.adaptec raid卡的管理软件在 windows下安装后的运行界面如下图:adaplecadaplec点击connect后&#xff0c;便可进入管理软件的主界面&#xff0c;如下图:在这个主界面中可以选择要操作的 raid卡&#xff0c;例如本例中…

think queue 消息队列初体验

使用的是tp5 自带的消息队列 thinkphp top里的 消息队列框架 think-queue 这是thinkphp官方团队开发的一个专门支持队列服务的扩展包 消息队列应用场景&#xff1a; 消息队列适用于大并发或者返回结果 时间有点长并需要批量操作的第三方接口。 当前使用快递单号获取&#xf…

Linux快速计算MD5和Sha1命令

Linux计算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5&#xff08;信息-摘要算法 5&#xff09;&#xff0c;用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一&#xff08;又译摘要算法、哈希算法&#xff09;&#xff0c;主流编程语言普遍已有MD5实现。 S…

win10无法运行C语言文件,主编告诉你win10打不开pdf文件的详尽处理办法

win10打不开pdf文件的问题大家有没有发现呢&#xff1f;今天有一个网友就来向小编询问处理办法。其实不知都还有多少用户遇到了win10打不开pdf文件的问题&#xff0c;我们可以尝试着自己来处理win10打不开pdf文件的问题&#xff0c;我们其实只需要这样操作&#xff1a;1、2、就…

MySQL 自带的四个数据库 介绍

背景 通过终端登录mysql数据库&#xff08;或直接用客户端工具&#xff09;查看全部数据库,如下&#xff1a; 5.7及以上自带库为&#xff1a;information_schema、mysql、performance_schema、sys&#xff1b; 5.6自带的库为&#xff1a;information_schema、mysql、performa…

简单绘图软件实现mfc大作业_纸笔书写|可直播可微课可写作业可批改的手写板,快来爱“我”吧...

线上教学进入下半场&#xff0c;我们需要什么&#xff1f;走过线上教育的探索期&#xff0c;相信不少老师已经对线上教学驾轻就熟了&#xff0c;但对于线上教学来说&#xff0c;合适的教学支持工具始终是必不可少的。不论是文科教师&#xff0c;还是理科教师&#xff0c;对于真…

一道多线程通信实例分析

程序如下&#xff1a; 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public static void main(String[] args) throws Exception{ final List list new ArrayList(); final Object lock new Object(); Thread t1 …

react native (一)

开始接触app方面的工作&#xff0c;真心塞~又开始了周而复始的死磕一个问题专坐一整天的节奏&#xff0c;关键是还没有成绩&#xff0c;实在无语。╮(╯▽╰)╭&#xff0c;还是总结一下最近心塞历程吧……react native中文网&#xff1a;http://reactnative.cn/docs/0.48/gett…

2台电脑一根网线传文件_「教程」如何快速的在两台电脑间传输大文件?

两台电脑如何传输文件我们常见的就是使用U盘或者网盘进行传输但是速度非常的慢我们需要一种文件可以直接复制到另一台设备的方法首先准备一根网线然后将两台电脑连接到同一局域网内在右下角的小电脑打开网络设置找到共享选项然后将公用文件夹共享开启在下面密码保护的共享中你可…

C语言信息系统贴吧,急 c语言学生信息管理系统

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼scanf("%s",s.name);printf("请输入学生的性别&#xff1a;");scanf("%s",s.sex);printf("请输入学生的班级&#xff1a;");scanf("%s",s.grade);printf("请输入学生的成绩…

Python 内置模块之 re

前言 输入一个手机号18333333333&#xff0c;你是怎么知道这串数字是手机号呢&#xff0c;假如现在你用python写一段代码&#xff0c;类似&#xff1a; phone_number input(please input your phone number&#xff1a;) 你怎么判断这个phone_number是合法的呢&#xff1f;…

mysqld_safe启动mysql

/home/data_mysql/mysql_3306/bin/mysqld_safe --defaults-file/home/data_mysql/mysql_3306/my.cnf --userroot & 原来的 /home/data_mysql/mysql_3306/bin/mysqld --defaults-file/home/data_mysql/mysql_3306/my.cnf --basedir/home/data_mysql/mysql_3306 --datadir/ho…

订阅内容解码失败(非base64码)_【火眼金睛】超强解码能力——邦纳全新ABR系列读码器来袭!...

点击关注▲ “邦纳”&#xff0c;开启智造之旅邦纳全新ABR系列读码器具有超强的解码能力&#xff0c;两种不同子系列产品&#xff0c;具有多重分辨率和镜头配置。从此读码不再是难题&#xff01;产品特点超强的解码能力使其可以读取困难的1D/2D码&#xff0c;包括DPM码和低对比…

程序员面试、算法研究、编程艺术、红黑树4大系列集锦与总结

程序员面试、算法研究、编程艺术、红黑树4大经典原创系列集锦与总结 作者&#xff1a;July--结构之法算法之道blog之博主。 时间&#xff1a;2010年10月-2011年6月。 出处&#xff1a;http://blog.csdn.net/v_JULY_v 。 声明&#xff1a;版权所有&#xff0c;侵犯必究。 前言 …