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. pycharm 激活码 2019/12最新福利(3)

    K6IXATEF43-eyJsaWNlbnNlSWQiOiJLNklYQVRFRjQzIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj55CG5ZWGOiBodHRwOi8va ...

  2. mpvue 签字组件

    <template> <div > <canvas class='firstCanvas' canvas-id="firstCanvas" @touc ...

  3. 推荐一款超好用的工具cmder

    今天来推荐一个超级好用的命令行工具:cmder 一款Windows环境下非常简洁美观易用的cmd替代者,它支持了大部分的Linux命令.支持ssh连接linux,使用起来非常方便.比起cmd.powe ...

  4. X-扫描线算法

    多边形的扫描转换 多边形有两种重要的表示方法:顶点表示和点阵表示 顶点表示是用多边形的顶点序列来表示多边形.这种表示直观.几何意义强.占内存少,易于进行几何变换. 但由于它没有明确指出哪些象素在多边形 ...

  5. django渲染高阶

    08.16自我总结 django渲染高阶 一.利用母版渲染 1.创建母版文件 如:stamper.html <!DOCTYPE html> <html lang="en&q ...

  6. 新手入门HTML5开发,你必须先搞懂这6个问题

    凭借着跨平台,实时更新,无需安装,易于分发等众多优点,HTML5受到越来越多企业的青睐.而凭借着入门相对简单的优势,很多人编程初学者都选择学习HTML5.但对于初学者来说,学习HTML5之前,会有很多 ...

  7. Hadoop实战1:MapR在ubuntu集群中的安装

    由于机器学习算法在处理大数据处理的时候在所难免的会效率降低,公司需要搭建hadoop集群,最后采用了商业版的Hadoop2(MapR). 官网: http://doc.mapr.com/display ...

  8. Ubuntu 安装mysql & 自定义数据存储目录

    一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...

  9. Codeforces Round #426 The Meaningless Game

    题目网址:http://codeforces.com/contest/834/problem/C 题目: C. The Meaningless Game Slastyona and her loyal ...

  10. 关于while和do while 的个人理解

    先上代码 int x=425; System.out.println("循环开始,我的初始值为:x="+x); //425 do { System.out.println(&quo ...