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. JavaWeb http协议的自我描述

    1.http协议的组成 http:规范那种协议 localhost.127.0.0.1:访问的ip地址(默认,根据自己的需求改变) 端口号:8080(默认,根据自己的需求改变) 工程:XXX 资源:可 ...

  2. 小游戏:200行python代码手写2048

    #-*- coding: utf-8 -*- import curses from random import randrange, choice from collections import de ...

  3. SQL Server 2012企业版和标准版的区别

    关于使用Microsoft SQL Server 数据库的公司一般会有疑问,企业版数据库和标准版数据库的区别在哪?如果采购企业版的价格和标准版的价格相差很大,从多方资料查询发现,我认为最主要的区别是硬 ...

  4. 基于vue组件,发布npm包

    亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...

  5. [Luogu1291][SHOI2002]百事世界杯之旅

    题目描述 “……在2002年6月之前购买的百事任何饮料的瓶盖上都会有一个百事球星的名字.只要凑齐所有百事球星的名字,就可参加百事世界杯之旅的抽奖活动,获得球星背包,随声听,更克赴日韩观看世界杯.还不赶 ...

  6. 使用WSL中开发调试.NET Core

    安装WSL 1.打开WINDOWS功能,勾选子系统选项 2.打开商店搜索WSL,安装ubuntu 我这里的系统版本是:18.04 如何查看ubuntu系统版本 sudo lsb_release -a ...

  7. opencv::形态学操作

    形态学操作 开操作- open 闭操作- close 形态学梯度- Morphological Gradient 顶帽 – top hat 黑帽 – black hat 开操作- open 先腐蚀后膨 ...

  8. {每日一题}:四种方法实现打印feibo斐波那契数列

    刚开始学Python的时候,记得经常遇到打印斐波那契数列了,今天玩玩使用四种办法打印出斐波那契数列 方法一:使用普通函数 def feibo(n): """ 打印斐波那契 ...

  9. Bootstrap应用核心

    Bootstrap是当前世界最受欢迎的响应式.移动设备优先的门户和应用前端框架.它不是单一的CSS或JavaScript框架,而是完整的HTML.CSS.JavaScript框架,你可以仅通过Boot ...

  10. 百万年薪python之路 -- 函数初始练习

    1.整理函数相关知识点 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(lst): lst = lst[1::2] return l ...