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. Android 总结:ContentProvider 的使用

    一.概述 ContentProvider:为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据. Android内置的许多数据都是使用ContentProvider形式,供开发者调用的 ( ...

  2. 第10项:重写equals时请遵守通用约定

      重写equals方法看起来似乎很简单,但是有许多重写方式会导致错误,而且后果非常严重.最容易避免这类问题的办法就是不覆盖equals方法,在这种情况下,类的每个实例都只能与它自身相等.如果满足了以 ...

  3. RF自定义库和关键字

    1:在D:\work_software\python\Lib\site-packages 文件夹下, 新建python package文件夹 ,例如我的是TestLibrary 建好后的完整路径:D: ...

  4. Spring Cloud OAuth2 实现用户认证及单点登录

    文章较长,建议推荐,建议转发,建议收藏,建议关注公众号哈. OAuth 2 有四种授权模式,分别是授权码模式(authorization code).简化模式(implicit).密码模式(resou ...

  5. [POJ3107] Godfather - 暴力枚举(树的重心)

    Godfather Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8728   Accepted: 3064 Descrip ...

  6. 数据结构1_C---单链表的逆转

    通过C语言函数实现单链表的逆转操作 例: 输入数据1,2,3,4 输出数据4,3,2,1 一共三个文件: 头文件stulist,h :链表结点的定义,结点指针的定义 源文件stulist.c:具体的实 ...

  7. chrome devtools tip(2)--自定义代码片段,构建你的工具箱

    平常开发中,有些代码片段常常用到的,比如,获取 url 参数,rgb转16进制,打印下当前页面的性能数据,给所有的 span 加个样式, 防抖节流,fetch接口,类似 jquery这样的顺手 选择 ...

  8. 利用Tampermonkey(油猴)+IDM实现百度云盘大文件下载;

    1.浏览器的脚本选择: 说明:不同的浏览器安装的名称不一样,这里采用Firefox做测试,同样可按照以下列表对应下载: Chrome:Tampermonkey 或 Violent monkey Fir ...

  9. css布局两端固定中间自适应

    第一种:采用浮动 1.1首先来看一下网上一个哥们给的代码 <body> <div class="left">左</div> <div cl ...

  10. Beetlex服务框架之Webapi版本访问控制

    在应用服务中API更新是很普遍的事情,为了服务良好地运作很多时候需要新旧版本同时兼容:为了应对这一系列的需求FastHttpApi在新版中强化了Url重写机制来支持API访问版本控制,由原来固定的重写 ...