原地址:https://finthon.com/python-time/

Python时间模块——time模块

简介

在数据处理当中,经常会碰到处理时间的问题。比如:在序列预测的过程中,需要通过学习一段时间的数据,去预测未来一段时间的结果。这时候就要用到时间(time、datetime、calendar)模块,今天介绍时间模块中的time模块。

表示时间的方法

在Python中有三种表示时间的方式:

  • 时间戳:是指某个时间与1970年1月1日00:00:00的差值,单位为秒,是一个浮点型数值;
  • 格式化时间:格式化时间由字母和数字表示的时间,比如:’Mon Oct 29 16:04:27 2018’;
  • 元组:将时间的信息放到一个元组中。

其中格式化时间中每个字符的含义如下:

符号 描述
%a 简化星期名称
%A 完整星期名称
%b 简化月份名称
%B 完整月份名称
%c 相应的日期和时间表示
%d 一个月中的第几天(01 – 31)
%H 一天中的第几个小时(24小时制,00 – 23)
%I 第几个小时(12小时制,01 – 12)
%j 一年中的第几天(001 – 366)
%m 月份(01 – 12)
%M 分钟数(00 – 59)
%p 本地am或者pm的相应符
%S 秒(01 – 61)
%U 一年中的星期数。(00 – 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0 – 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
%x 相应日期
%X 相应时间
%y 去掉世纪的年份(00 – 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符

在元组中会有9项参数,如下表所示:

关键字 描述
tm_year 年
tm_mon 月(1-12)
tm_mday 日(1-31)
tm_hour 时(0-23)
tm_min 分(0-59)
tm_sec 秒(0-61),闰年多两秒
tm_wday 周一-周日(0-6)
tm_yday 一年中第几天(1-366)
tm_isdst 是否夏令时(1:是;0:不是;-1:未知;默认 -1)

time模块中常用的函数可以总结成下图,基本上就是三者如何转换:

接下来我们会一一介绍。

time.time()

该函数返回当前时间的时间戳,也就是距离1970年1月1日00:00:00的差值。

代码演示:

 
1
2
3
>>>import time
>>>time.time()
1540808367.8872325

time.localtime()

该函数能将一个时间戳转换成元组的形式,如果没有指定时间戳,默认使用当前时间的时间戳。需要注意的是返回的时间是当地时间。

代码演示:

 
1
2
3
4
5
6
>>>import time
>>>time.localtime(1540808367.8872325)
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=29, tm_hour=18, tm_min=19, tm_sec=27, tm_wday=0, tm_yday=302, tm_isdst=0)
 
>>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=29, tm_hour=18, tm_min=26, tm_sec=10, tm_wday=0, tm_yday=302, tm_isdst=0)

time.gmtime()

该函数和localtime()的功能一样,只是它返回的时间是格林威治天文时间(UTC),也就是世界标准时间。中国时间为UTC+8。

代码演示:

 
1
2
3
>>>import time
>>>time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=29, tm_hour=10, tm_min=31, tm_sec=58, tm_wday=0, tm_yday=302, tm_isdst=0)

time.mktime()

该函数将一个元组转换成时间戳。

代码演示:

 
1
2
3
>>>import time
>>>time.mktime(time.localtime())
1540809214.0

time.sleep()

该函数能让程序线程暂停休息,传入几秒,休息几秒。

代码演示:

 
1
2
3
4
import time
print(time.time())
time.sleep(3)
print(time.time())

结果为:

 
1
2
1540809376.7814057
1540809379.7822838

time.asctime()

该函数将一个元组转换成格式化时间。如果没有传入参数,默认传入time.localtime()。

代码演示:

 
1
2
3
>>>import time
>>>time.asctime()
'Mon Oct 29 18:39:10 2018'

time.ctime()

该函数将一个时间戳转换成格式化时间。如果没有传入参数,默认传入time.time()。

代码演示:

 
1
2
3
>>>import time
>>>time.ctime()
'Mon Oct 29 18:41:04 2018'

time.strftime()

该函数按照格式化字符把一个元组转换成格式化时间字符串。如果没有传入参数,默认传入time.localtime()。

代码演示:

 
1
2
3
>>>import time
>>>time.strftime("%Y-%m-%d %X", time.localtime())
'2018-10-29 18:46:14'

time.strptime()

该函数按照格式化字符把一个格式化时间字符串转成元组。

 
1
2
3
>>>import time
>>>time.strptime('2018-10-29 18:46:14', '%Y-%m-%d %X')
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=29, tm_hour=18, tm_min=46, tm_sec=14, tm_wday=0, tm_yday=302, tm_isdst=-1)

需要注意的是,当传入的时间中包括周数和天数(%U和%W),该函数才能使用。

总结

本文介绍了time模块中常用的几个函数,主要涉及到三种时间格式之间的转换。time模块在机器学习中,尤其在序列数据中使用较多。

Python--时间模块time模块的更多相关文章

  1. Python 时间和日期模块的常用例子

    获取当前时间的两种方法 import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now = ...

  2. Python时间处理之time模块

    1.time模块简介 time模块提供各种操作时间的函数  说明:一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一 ...

  3. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  4. python时间-time模块

    time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数. 以下说明针对于 python2.7,其他版本可能有所差异. 模块提供了两个种表示时间的格式: 1.时间戳,是以秒表示 ...

  5. python基础 ---time,datetime,collections)--时间模块&collections 模块

    python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...

  6. Python时间模块

    1 time 模块: 读取系统时钟当前时间: 在 time 模块中,time.time()和 time.sleep()函数是最有用的模块. 1.1 time.time() time.time()函数返 ...

  7. python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)

    一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...

  8. Python时间日期格式化之time与datetime模块总结

    1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...

  9. python时间模块和random模块

    模块:用一坨代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能,可能需要多个函数才能 ...

  10. python 时间模块小结

    python有两个重要的时间模块,分别是time和datetime time模块 表示时间的几种方法 时间元组 time.struct_time( tm_year=2016, tm_mon=7, tm ...

随机推荐

  1. [WEB安全]Dirsearch工具命令

    下载项目,并打开 ┌─[root@kali]─[/kali] └──╼ #git clone https://github.com/maurosoria/dirsearch ┌─[root@kali] ...

  2. GC的判定的2种方式

    对象是否死亡的2中判定方法:引用计数和可达性分析(又称引用链) 1.引用计数 对象再被创建时,对象头里会存储引用计数器,对象被引用,计数器+1:引用失效,计数器 -1:GC时会回收计数器为0的对象.但 ...

  3. JDBC的概述和简单使用

    1. 概念 JDBC是 Java DataBase Connectivity 的简写,翻译过来就是 Java 操作数据库. 目的是使用统一的Java代码操作所有关系型数据库. JDBC实际是定义了一套 ...

  4. cv相关博客文章

    收藏些图像处理,机器学习,深度学习方面比较不错的文章,时常学习,复习和膜拜吧... 图像方面(传统CV): 1. SIFT特征 https://www.cnblogs.com/wangguchangq ...

  5. protobuf protocol-buffers 序列化数据 gobs pickling string XML 用C实现的cPickle比pickle快1000倍 protobuf2 protobuf3 差异

    场景: 浏览器请求--->python数据生成--->python-生成excel--->浏览器下载excel 目标: 重构为 浏览器请求--->python数据生成---&g ...

  6. 阶段5 3.微服务项目【学成在线】_day18 用户授权_04-方法授权-方法授权实现

    2.3 方法授权实现 2.3.1资源服务添加授权控制 1.要想在资源服务使用方法授权,首先在资源服务配置授权控制 1)添加spring-cloud-starter-oauth2依赖. 2)拷贝授权配置 ...

  7. Linux输出信息并将信息记录到文件(tee命令)

    摘自:https://www.jb51.net/article/104846.htm 前言 最近工作中遇到一个需求,需要将程序的输出写到终端,同时写入文件,通过查找相关的资料,发现可以用 tee 命令 ...

  8. Linux -- Proactor(及其与Reactor的比较)

    高并发服务器常由多线程+IO复用服务器(one event loop per thread) 两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分 ...

  9. MGR集群搭建

    MGR全称MySQL Group Replication(Mysql组复制),是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR提供了高可用.高扩展.高可靠的MySQL ...

  10. hyperledger学习资料

    http://www.cnblogs.com/aberic/p/7527831.htmlhttps://www.ibm.com/developerworks/cn/cloud/library/cl-t ...