python时间time模块处理大全


Posted in Python onOctober 25, 2020

前言

在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。

在开始之前,首先要说明这几点:

  1. 在Python中,通常有这几种方式来表示时间:时间戳 (给机器看的)、格式化的时间字符串(给人看的) 、struct_time元组机构化时间(计算用的)。
  2. UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。
  3. 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。返回时间戳方式的函数主要有time(),clock()等。
  4. 元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。

时间格式(时间戳)

time.time()函数获取的是Unix时间戳。

返回的是一个float类型的数值。

import time
t1 = time.time()
print(t1, type(t1))

睡眠 time.sleep

time.sleep(2) # 睡眠2秒

格式化时间

import time
print(time.strftime('%Y-%m-%d %H:%M:%S'))
2019-11-27 20:49:36

%y
print(time.strftime('%y-%m-%d %H:%M:%S'))
19-11-27 20:50:27

%c
 print(time.strftime('%c'))
Wed Nov 27 20:51:20 2019
格式 含义 备注
%a 本地(locale)简化星期名称
%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 时区的名字(如果不存在为空字符)
%% ‘%'字符
  1. “%p”只有与“%I”配合使用才有效果。
  2. 文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。
  3. 当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。

结构化时间(struct_time)

#结构化时间

#localtime
struct_time = time.localtime()
print(struct_time) 
#time.struct_time(tm_year=2020, tm_mon=10, tm_mday=8, tm_hour=15, tm_min=7, tm_sec=53, tm_wday=0, tm_yday=281, tm_isdst=0)
print(struct_time.tm_year) #2018

#gmtime
struct_time1 = time.gmtime()
print(struct_time1) 
#time.struct_time(tm_year=2020, tm_mon=10, tm_mday=8, tm_hour=15, tm_min=7, tm_sec=53, tm_wday=0, tm_yday=281, tm_isdst=0)
print(struct_time1.tm_year) #2020

索引(Index) 属性(Attribute) 值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 61
6 tm_wday(weekday) 0 - 6(0表示周日)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为-1

转换

它们之间的转化如图所示:

python时间time模块处理大全

要了解更多,请参考time模块的官方文档 http://docs.python.org/library/time.html。

结构化时间转时间戳mktime

t = time.time()
print(t)  #1538982828.2859974
print(time.localtime(t))  
#time.struct_time(tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=15, tm_min=13, tm_sec=3, tm_wday=0, tm_yday=281, tm_isdst=0)

print(time.gmtime(t))    
#time.struct_time(tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=7, tm_min=13, tm_sec=3, tm_wday=0, tm_yday=281, tm_isdst=0)

print(time.mktime(time.localtime()))  #1538982958.0

结构化时间转字符串strftime

print(time.strftime('%m/%d/%y %H:%M:%S',time.localtime(3000000000)))  
#01/24/65 13:20:00

字符串转结构化时间strptime

t = time.time()
t = time.strptime('2000-12.31','%Y-%m.%d')
print(t)  
#time.struct_time(tm_year=2000, tm_mon=12, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=366, tm_isdst=-1)

print(time.strftime('%m/%d/%y %H:%M:%S',time.localtime(3000000000)))  #01/24/65 13:20:00

总结

asctime([tuple])

将时间元组(默认为本地时间)格式转换为字符串形式。接受一个时间元组,其默认值为localtime()返回值

clock()

返回当前程序的cpu执行时间。unix系统始终返回全部运行时间;而windows从第二次开始都是以第一次调用此函数时的时间戳作为基准,而不是程序开始时间为基准。不接受参数。

ctime(seconds)

将时间戳转换为字符串。接受一个时间戳,其默认值为当前时间戳。等价于asctime(localtime(seconds))

print(time.asctime())  # Mon Oct 8 15:21:02 2018
print(time.asctime(time.localtime()))  # Mon Oct 8 15:21:02 2018
print(time.asctime(time.localtime(2000000000)))  # Wed May 18 11:33:20 2033
print(time.ctime())   # Mon Oct 8 15:21:02 2018
print(time.ctime(2000000000))  # Wed May 18 11:33:20 2033

gmtime([seconds])

将时间戳转换为UTC时间元组格式。接受一个浮点型时间戳参数,其默认值为当前时间戳。

localtime([seconds])

将时间戳转换为本地时间元组格式。接受一个浮点型时间戳参数,其默认值为当前时间戳。

mktime(tuple)

将本地时间元组转换为时间戳。接受一个时间元组,必选。

sleep(seconds)

延迟一个时间段,接受整型、浮点型。

time()

返回当前时间戳,浮点数形式。不接受参数

tzset()

改变本地时区。

strptime(string, format)

将指定格式的时间字符串解析为时间元组,strftime()的逆向过程。接受字符串,时间格式2个参数,都是必选。示例:

time.strptime('2015-08-05 22:08:06', '%Y-%m-%d %X')
time.struct_time(tm_year=2015, tm_mon=8, tm_mday=5, tm_hour=22, tm_min=8, tm_sec=6

strftime(format[, tuple])

将时间元组以指定的格式转换为字符串形式。接受字符串格式化串、时间元组。时间元组为可选,默认为localtime()。示例:

time.strftime("%Y-%m-%d %X", time.localtime())
'2011-05-05 16:37:06'

好了,到此这篇关于python时间time模块处理大全的文章就介绍到这了,更多相关python时间time模块处理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 从远程服务器下载东西的代码
Feb 10 Python
php使用递归与迭代实现快速排序示例
Jan 23 Python
python使用wxpython开发简单记事本的方法
May 20 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
Python实现微信机器人的方法
Sep 06 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
python中yield的用法详解
Jan 13 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
使用AJAX和Django获取数据的方法实例
Oct 25 #Python
Python Tkinter实例——模拟掷骰子
Oct 24 #Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 #Python
python 下划线的不同用法
Oct 24 #Python
python 写一个性能测试工具(一)
Oct 24 #Python
Django admin组件的使用
Oct 24 #Python
Python数据可视化常用4大绘图库原理详解
Oct 23 #Python
You might like
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
在vue项目中使用sass的配置方法
2018/03/20 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
python中删除某个元素的方法解析
2019/11/05 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
如何设置Java的运行环境
2013/04/05 面试题
女大学生毕业找工作的自我评价
2013/10/03 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
化验室安全管理制度
2015/08/06 职场文书
Redis如何一键部署脚本
2021/04/12 Redis