time模块

time模块是很多人最早接触到的模块,像time.sleep(x)好像随处可见,但是time模块里面的其他方法呢?下面一起看一下time模块。

在Python中一般用这3种方式表示时间:

1.时间戳,包括time()等函数

2.格式化的时间字符  包括asctime()等函数

3.时间元组    包括localtime()等函数

分别举例如下:

print(time.time())
>>> 1553149608.6831224

time得到的时间单位是秒,那么这个秒是怎么来的呢?这是从1970年1月1日0点0分0秒开始计时,一直到现在经历的秒数(不信可以自己算一下)。为什么是1970?这一年发生了很多大事,比如Unix诞生了。

print(time.localtime())
>>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)
#从左到右依次是当前时间的年,月,日,时,分,秒,一周中第几天,一年中第几天,夏令时 print(time.localtime(time.time())) >>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

这里得到的是一个元组,两个print得到的结果是一样的,说明localtime中有一个默认参数,就是time.time(),你也可以吧time.time()拿到的时间(1553149608.6831224)当做参数,得到的结果也是一样的。

print(time.gmtime())
>>> time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=6, tm_min=27, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

gmtime和localtime的用法是一样的,结果似乎也一样,但仔细一看发现tm_hour好像少8,这是为什么呢?因为我所在的中国位于东8区,gmtime获取的时间是零度经线的时间,没记错的话,应该是英国的格林尼治天文台所在的经度,也叫本初子午线嘛。

print(time.mktime(time.localtime()))
>>>1553150685.0

mktime可以把得到的元组转化成时间戳。

print(time.asctime())
>>>Thu Mar 21 14:48:48 2019 print(type(time.asctime()))
>>><class 'str'> print(time.asctime(time.localtime()))
>>>Thu Mar 21 14:48:48 2019

asctime可以把时间元组转化成一个固定格式的字符串,默认参数就是time.localtime拿到的元组。

print(time.ctime())
>>>Thu Mar 21 14:53:36 2019 print(time.ctime(time.time()))
>>>Thu Mar 21 14:53:36 2019

ctime和asctime拿到的结果一样,但是参数是时间戳,默认就是time.time()

print(time.strftime('%Y-%m-%d %H:%M:%S'))
>>>2019-03-21 15:00:50 print(time.strftime('%Y-%m-%d %X'))
>>>2019-03-21 15:00:50 print(time.strptime('2019-03-21 14:57:45','%Y-%m-%d %X'))
>>>time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=57, tm_sec=45, tm_wday=3, tm_yday=80, tm_isdst=-1)

strftime可以按一定的规则,将时间元组转化成格式化字符串形式,如果没有时间元组参数,就默认为localtime。前面两个print结果是一样的,就是说%X可以代替%H:%M:%S,这是一种简写。strptime和strftime作用是相反的,注意格式要和输入的格式化字符串一致,不然就会报错了,format默认为:"%a %b %d %H:%M:%S %Y"。

到这里,上面三种时间的转化关系已经出来了:

sleep就不用讲了,就是线程推迟指定时长后运行,单位是秒,正常理解为等待就行,time模块基本就这些内容了。

聊聊Python的time模块的更多相关文章

  1. 通过实例简介python使用ctypes模块调用C语言动态库

    看介绍python语言时,说它是胶水语言,可以调用其他语言.通过使用ctypes模块就可以调用C语言的动态库.下面先放上官方文档和几个比较好的博文. 1.官方文档:http://python.net/ ...

  2. 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)

    1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...

  3. 最全总结 | 聊聊 Python 数据处理全家桶(配置篇)

    1.前言 在实际项目中,经常会接触到各种各样的配置文件,它可以增强项目的可维护性 常用配件文件的处理方式,包含:JSON.ini / config.YAML.XML 等 本篇文章,我们将聊聊 Pyth ...

  4. 最全总结 | 聊聊 Python 办公自动化之 Word(下)

    1. 前言 关于 Word 文档的读写,前面两篇文章分别进行了一次全面的总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 最全总结 | 聊聊 Python 办公自动化之 Word( ...

  5. python之platform模块

    python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...

  6. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  7. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  8. 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)

    一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...

  9. linux下python调用c模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hel ...

随机推荐

  1. C# 返回JSON格式化统一标准

    public class BackJson { public int code { get; set; } public string msg { get; set; } public string ...

  2. 【HTTP】---HTTP状态码详解

    https://en.wikipedia.org/wiki/List_of_HTTP_status_codes 1.百科名片 HTTP状态码(HTTP Status Code)是用以表示网页服务器HT ...

  3. Linux进程和端口互相查看方法

    一.查找应用进程的端口 ps -ef |grep mysql 查看进程 ps:将某个进程显示出来 -A 显示所有程序.  -e 此参数的效果和指定"A"参数相同. -f 显示UID ...

  4. Macbook pro从购买服务器到搭建服务器环境(1)

    查看进程命令:ps -ef |grep *** ps -ef | grep nginx ps -ef | grep mysql ps -ef | grep mongops -ef | grep uws ...

  5. CentOS7下使用yum安装MariaDB

    从CentOS 7开始,使用 MariaDB 替代默认的 MySQL.MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MyS ...

  6. 勾勾街:用最小的成本封装一个苹果IOS APP! 封装技术再度升级~

    勾勾街自上线以来,“遭到”大量群众的喜爱... 只能用遭到这个词儿,因为大家好像都被憋了很久了,哈哈哈! 我们的技术是先进的,也是首创的,但最近发现了另一个网站,把我们的技术抄走了.... 本来这个事 ...

  7. VMware14 安装CentOS7 实现宿主机ping通虚拟机、虚拟机ping通宿主机、虚拟机能上网且能ping通百度

    本文旨在通过通过虚拟机VMware14来安装CentOS7 系统,并配置固定IP来实现在Windows系统中使用Linux环境. 本文目录: 0.本机环境 1.VMware14 初始化 1.1.安装V ...

  8. 虚拟机安装Linux系统

    Mware Workstation 12 序列号: 5A02H-AU243-TZJ49-GTC7K-3C61N 步骤一: 右键-->新建虚拟机 步骤二:自定义(高级)-->下一步 步骤三: ...

  9. xlrd模块

    import xlrdbook = xlrd.open_workbook('app_student.xls')sheet = book.sheet_by_index(0)# sheet2 = book ...

  10. 常用的Tensor操作

    常用的Tensor操作 1.通过tensor.view方法可以调整tensor的形状,但必须保证调整去前后元素总数一致.view不会修改自身的数据,返回新的tensor与原tensor共享内存,即更改 ...