time模块

一.time模块

import time

1.1 时间戳

时间戳(timestamp):时间戳表示从1970年1月1日00:00:00:开始按秒九三的时间偏移量

import time

time_stamp = time.time()
print(time_stamp,type(time_stamp))

1.2 格式化时间

格式化时间字符串(format string):格式化时间表示的是普通的字符串格式的时间

import time

format_time  =  time.strftime("%Y-%m-%d %X")
print(format_time,type(format_time)) # 2019-09-15 14:12:22 <class 'str'>

1.3 结构化时间

结构化时间(struct_time):struct_time元祖共有九个元素,分别为(年,月,日,时,分,秒,一年中的第几周,一年中的第几天,夏令时)

print(f'本地时区的struct_time:\n{time.localtime()}')
print(f'UTC时区的struct_time:\n{time.gmtime()}') # 本地时区的struct_time:
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=14, tm_min=21, tm_sec=6, tm_wday=6, tm_yday=258, tm_isdst=0)
# UTC时区的struct_time:
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=6, tm_min=21, tm_sec=6, tm_wday=6, tm_yday=258, tm_isdst=0)
#结构化时间的基准时间
print(time.localtime(0)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
# 结构化时间的基准时间加上一年的时间
print(time.localtime(3600*24*365)) # time.struct_time(tm_year=1971, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=0)

1.4 不同格式时间之间的转换

如上图所示,我们总能通过某种方法在结构化时间-格式化时间-时间戳三者之间进行转换,下面我们将用代码展示如何通过这些方法转换时间格式。

结构化时间

now_time = time.localtime()
print(now_time) # time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=14, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=258, tm_isdst=0)

把结构化时间转换为时间戳格式

print(time.mktime(now_time))

# 1568529137.0

把结构化时间转换为格式化时间

# %Y年-%m月-%d天 %X时分秒=%H时:%M分:%S秒
print(time.strftime("%Y-%m-%d %X", now_time)) # 2019-09-15 14:33:12

把格式化时间化为结构化时间,它和strftime()是逆操作

print(time.strptime('2013-05-20 13:14:52', '%Y-%m-%d %X'))

time.struct_time(tm_year=2013, tm_mon=5, tm_mday=20, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=0, tm_yday=140, tm_isdst=-1)

把结构化时间表示为这种形式:'Sun Jun 20 23:21:05 1993'。

print(time.asctime())

# Sun Sep 15 14:36:09 2019

如果没有参数,将会将time.localtime()作为参数传入。

print(time.asctime(time.localtime()))

# Sun Sep 15 14:36:09 2019

把一个时间戳转化为time.asctime()的形式。

print(time.ctime())

# Sun Sep 15 14:36:09 2019

如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于

time.asctime(time.localtime(secs))。
print(time.ctime(time.time())) # Sun Sep 15 14:36:09 2019

1.5 其它用法

推迟指定的时间运行,单位为秒

start = time.time()
time.sleep(3)
end = time.time() print(end-start) # 3.000171422958374

93-time模块的更多相关文章

  1. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  2. C#开发命名规范

    学习C#之初,始终不知道怎么命名比较好,很多时候无从命名,终于有一天我整理了一份命名规范文档,自此我就是按照这个命名规范书写代码,整洁度无可言表,拙劣之处请大家斧正,愚某虚心接受,如有雷同,不胜荣幸 ...

  3. 我自己总结的C#开发命名规范整理了一份

    我自己总结的C#开发命名规范整理了一份 标签: 开发规范文档标准语言 2014-06-27 22:58 3165人阅读 评论(1) 收藏 举报  分类: C#(39)  版权声明:本文为博主原创文章, ...

  4. C#开发命名规范总结整理

    1.  命名规范a) 类[规则1-1]使用Pascal规则命名类名,即首字母要大写.eg:Class Test{    ...}[规则1-2]使用能够反映类功能的名词或名词短语命名类.[规则1-3]不 ...

  5. (转载)C#语言开发规范

    1.  命名规范a) 类[规则1-1]使用Pascal规则命名类名,即首字母要大写.eg:Class Test{...}[规则1-2]使用能够反映类功能的名词或名词短语命名类.[规则1-3]不要使用“ ...

  6. C#语言开发规范

    1.  命名规范 a) 类 [规则1-1]使用Pascal规则命名类名,即首字母要大写. eg: Class Test { ... } [规则1-2]使用能够反映类功能的名词或名词短语命名类. [规则 ...

  7. C#语言开发规范-ching版

    拙劣之处请大家斧正,愚某虚心接受,如有雷同,不胜荣幸 C#语言开发规范 作者ching 1.  命名规范 a) 类 [规则1-1]使用Pascal规则命名类名,即首字母要大写. eg: Class T ...

  8. 异常处理_Maven多模块web项目整合ssm+dubbo

    异常如下: [ERROR][org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader. ...

  9. iOS开发之聊天模块--内容保存逻辑实现

    需求详解: 在实际开发中,有可能是在后期优化的时候,会有这么需要优化的需求:聊天输入框保存之前输入的文本,提高用户的良好体验. 在聊天模块中,用户可能会在输入框输入若干字符,但是没有点击发送就点击退出 ...

  10. iOS开发之Socket通信实战--Request请求数据包编码模块

    实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...

随机推荐

  1. Spring Boot从入门到放弃-Spring Boot 整合测试

    站长资讯摘要:使用Spring Boot 整合测试,对Controller 中某个方法进行测试或者对Service,Mapper等进行测试,不需要运行项目即可查看运行结果是否和期望值相同,Spring ...

  2. Codeforces Round #576 (Div. 2) D. Welfare State

    http://codeforces.com/contest/1199/problem/D Examples input1 output1 input2 output2 Note In the firs ...

  3. 三十七、www服务nginx进阶

    六.查看nginx默认首页和目录:如下,可以看到,默认的目录是html,首页是index.html [root@djw1 conf]# grep html nginx.conf            ...

  4. 吴裕雄--天生自然python机器学习:机器学习简介

    除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息.例如 ,对于垃圾邮 件的检测,侦测一个单词是否存在并没有太大的作用,然而当某几个特定单词同时出现时,再辅 以考察邮件长度及其他因素,人们 ...

  5. php中的几种四舍五入取整、向上取整、向下取整、小数截取方法

    echo intval(4.5);echo "<br />";//直接取整,舍弃小数保留整数echo round(4.5);echo "<br /> ...

  6. JDK5.0 Annotation学习笔记(一)

    背景知识:         从JDK5开始提供名为Annotation(注释)的功能,它被定义为JSR-175规范.注释是以"@注释名"在代码中存在的,还可以添加一些参数值,例如: ...

  7. socket握手SYN和ACK理解

    ACK 英文缩写: ACK (ACKnowledge Character) 中文译名: 确认字符 分类: 传输与接入 解释: 在数据通信传输中,接收站发给发送站的一种传输控制字符.它表示确认发来的数据 ...

  8. jmeter json乱码

    0 环境 系统环境:win7 1 操作 1 找到jmeter.properties 找到jmeter下的bin目录jmeter.properties文件 例如apache-jmeter-\bin\jm ...

  9. MS激活

    亲测可用 国内博客  https://msguides.com/ 他是翻译的这个哥们的网页: https://msguides.com/

  10. linux下使用过的命令总结(未整理完)

    1.常用命令不需解释 ls\cd\cp\mv\pwd\file\vi\vim\cat 2.getconf LONG_BIT 终端返回32表示操作系统32位,返回64表示操作系统64位. 3.ifcon ...