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 相关文章推荐
TensorFlow实现创建分类器
Feb 06 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
实例讲解python中的序列化知识点
Oct 08 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
Python中new方法的详解
Jan 15 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
python实现定时发送邮件
Dec 23 Python
Python 可视化神器Plotly详解
Dec 26 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
session 的生命周期是多长
2006/10/09 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
yii添删改查实例
2015/11/16 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
smarty模板数学运算示例
2016/12/11 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
解析js如何获取css样式
2016/12/11 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
Python实时获取cmd的输出
2015/12/13 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python制作抖音代码舞
2019/04/07 Python
python实现超级玛丽游戏
2020/03/18 Python
服装销售人员求职自我评价
2013/09/26 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
企业安全生产责任书
2014/04/14 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
python实现监听键盘
2021/04/26 Python
Python爬虫之爬取二手房信息
2021/04/27 Python