1.前言

在Python中,对时间的表示或操作通常要使用到time模块。本篇博文就来记录一下time模块中常用的几种时间表示转换方法。

2. 三种时间表示形式

2.1 时间戳

从1970年1月1日零点零时零分零秒到当前时间所经过的秒数称为当前时间的时间戳。使用time模块下的time()方法即可返回当前时间的时间戳。

# 时间戳
timestamp = time.time()
print(timestamp)
# 输出
1539310424.426869

2.2 结构化时间

结构化时间指包含了年、月、日、时、分、秒等时间属性的一个时间对象,使用这个时间对象通过点的方式可以获取各个时间属性。在time模块中,localtime()可以获取当前时区当前时间的结构化时间,另外,gmtime()可以获取世界时间当前时间的结构化时间,其功能与localtime()完全相同,此处只以localtime()为例说明。

# 结构化时间
struct_time = time.localtime()
print(struct_time)
# 输出time.struct_time(tm_year=2018,
# tm_mon=10,
# tm_mday=12,
# tm_hour=10,
# tm_min=25,
# tm_sec=11,
# tm_wday=4,
# tm_yday=285,
# tm_isdst=0)
print(struct_time.tm_year) # 输出 2018
print(struct_time.tm_mon) # 输出 10
print(struct_time.tm_mday) # 输出 12
print(struct_time.tm_hour) # 输出 10
print(struct_time.tm_min) # 输出 25
print(struct_time.tm_sec) # 输出 11
print(struct_time.tm_wday) # 输出 4
print(struct_time.tm_yday) # 输出 285
print(struct_time.tm_isdst) # 输出 0

其中:

  • tm_year:表示年份
  • tm_mon:表示月份
  • tm_mday:表示日期
  • tm_hour:表示小时
  • tm_min:表示分钟
  • tm_sec:表示秒数
  • tm_wday:表示星期。注:0表示星期一,6表示星期日
  • tm_yday:表示当前日期是当前年份的第几天
  • tm_isdst:表示夏令时

2.3 格式化的时间字符串

格式化的时间字符串就是我们根据业务的需要,将结构化时间或时间戳转换成我们需要的格式的时间表示字符串,例如:'2018-10-12 12:00:00'

3.相互转换

以上三种时间格式的相互转换,我们只需记住下面两张图即可。



import time

# 结构化时间
struct_time = time.localtime()
print(struct_time) # 时间戳
timestamp = time.time()
print(timestamp) # 1.时间戳 ————> 结构化时间
print(time.localtime(timestamp)) # 2.结构化时间 ————> 时间戳
print(time.mktime(struct_time)) # 3.结构化时间 ————> 字符串格式化时间
print(time.strftime('%Y-%m-%d %X', struct_time)) # 4.字符串格式化时间 ————> 结构化时间
print(time.strptime('2018-10-10 18:00:00', '%Y-%m-%d %X')) # 5.结构化时间 ————> 字符串格式化时间(以系统内置格式转化)
print(time.asctime(struct_time)) # 6.时间戳 ————> 字符串格式化时间(以系统内置格式转化)
print(time.ctime(timestamp))

(完)

python学习之【第十五篇】:Python中的常用模块之time模块的更多相关文章

  1. Python 学习笔记(十五)Python类拓展(二)方法

    方法 绑定方法和非绑定方法 绑定方法和非绑定方法在创建时没有任何区别,同一方法,既可以为绑定方法,也可以为非绑定方法,一切不同都只在调用时的手法上有所区别. 绑定方法即该方法绑定类的一个实例上,必须将 ...

  2. Python 学习笔记(十五)Python类拓展(一)继承

    继承 继承(Inheritance):是面向对象软件技术当中的一个概念.如果一个类别A "继承自" 另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”,也可以称“B是A ...

  3. python学习笔记(十五)python操作数据库

    1.连接mysql,ip,端口号,密码,账号,数据库 2.建立游标 3.执行sql 4.获取结果 5.关闭连接,关闭游标 游标打开仓库的大门: import pymysql conn=pymysql. ...

  4. Python学习(二十五)—— Python连接MySql数据库

    转载自http://www.cnblogs.com/liwenzhou/p/8032238.html 一.Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MyS ...

  5. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  6. Egret入门学习日记 --- 第十五篇(书中 6.1~6.9节 内容)

    第十五篇(书中 6.1~6.9节 内容) 好的,昨天完成了第五章. 今天来看第六章. 总结重点: 1.如何对组件进行分组? 跟着做: 重点1:如何对组件进行分组? 首先,选中你想要组合的组件. 然后点 ...

  7. Python学习笔记(十五):类基础

    以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...

  8. Python学习【第十二篇】模块(2)

    序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...

  9. Python之路(第十五篇)sys模块、json模块、pickle模块、shelve模块

    一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version . sys.maxint ...

  10. Python开发【第十五篇】模块的导入

    的导入语句 import 语句 语法: import 模块名1 [as 模块别名] 作用: 将某模块整体导入到当前模块 示例: import math import sys,os 用法: 模块名.属性 ...

随机推荐

  1. 【Java】支付宝获取人脸采集认证的图片base64格式

    人脸识别结果查询接口zoloz.identification.user.web.query返回的imgStr图片字符串并不是标准的base64格式,解析不出图片. 由于标准的Base64并不适合直接放 ...

  2. 你也可以写聊天程序 - C# Socket学习1

    简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单的聊天程序. 一些基础类 首先我们每天打开浏览器访问网页信 ...

  3. 章节十七章、2- 给执行失败的case截图

    一.案例演示 1.首先我们把截图的方法单独进行封装方便以后调用. package utilities; import java.io.File; import java.io.IOException; ...

  4. MySQL复制从库建立-xtracebackup方式

    Percona XtraBackup工具提供了一种在系统运行时执行MySQL数据热备份的方法. Percona XtraBackup在事务系统上执行联机非阻塞,紧密压缩,高度安全的完整备份,因此在计划 ...

  5. Asp.net内置对象用途说明

    Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...

  6. django-drf框架自带的路由以及最简化的视图

    0910自我总结 django-drf框架自带的路由以及最简化的视图 路由 一.导入模块 from rest_framework.routers import SimpleRouter 二.初始化路由 ...

  7. 渗透测试-基于白名单执行payload--Regsvr32

    复现亮神课程 基于白名单执行payload--Regsvr32 0x01 Regsvr32 Regsvr32命令用于注册COM组件,是 Windows 系统提供的用来向系统注册控件或者卸载控件的命令, ...

  8. php函数分为哪两种?

    PHP的真正威力源自于它的函数.函数分为内置函数和自定义函数. 内置函数 所谓PHP内置函数,就是在php程序的库里面已经定义了的函数,比如echo,mysql_connect,include_onc ...

  9. ESP8266开发之旅 网络篇⑭ web配网

    1. 前言     目前,市面上流行多种配网方式: WIFI模块的智能配网(SmartConfig以及微信AirKiss配网) SmartConfig 配网方式 请参考博主之前的博文 ESP8266开 ...

  10. netty源码解析(4.0)-26 ByteBuf内存池:PoolArena-PoolSubpage

    PoolChunk用来分配大于或等于一个page的内存,如果需要小于一个page的内存,需要先从PoolChunk中分配一个page,然后再把一个page切割成多个子页-subpage,最后把内存以s ...