目录
- 一.前言
- 二.Python time 模块常用函数介绍
- 三.Python time 模块使用
- 1.Python time 模块获取时间
- 2.Python time 模块自定义时间格式
- 3.Python time 模块查看代码执行时间
- 四.猜你喜欢
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
Python time 模块主要包含各种提供日期、时间功能的相关函数。time 模块既提供了把日期、时间格式化为字符串的功能,也提供了从字符串恢复日期、时间的功能。
一.前言
在 time 模块内提供了很多函数,很多函数都会返回一个** time.struct_time** 类,该类代表一个时间对象,它主要包含 9 个属性,每个属性的信息如图所示:
二.Python time 模块常用函数介绍
-
**time.gmtime([secs]) **— 将以秒数代表的时间转换为 struct_time 对象。如果不传入参数,则使用当前时间;
-
time.asctime([t]) — 将时间元组或 struct_time 转换为时间字符串。如果不指定参数 t,则默认转换当前时间;
-
time.localtime([secs]) — 将以秒数代表的时间转换为代表当前时间的 struct_time 对象。如果不传入参数,则使用当前时间;
-
time.sleep(secs) — 暂停 secs 秒,什么都不干;
-
**time.strftime(format[, t]) **— 将时间元组或 struct_time 对象格式化为指定格式的时间字符串。如果不指定参数 t,则默认转换当前时间;
-
**time.strptime(string[, format]) **— 将字符串格式的时间解析成 struct_time 对象;
-
**time.time() **— 返回从 1970 年 1 月 1 日 0 点整到现在过了多少秒;
-
time.tzname — 返回本地时区的名字;
!usr/bin/env python
-- coding:utf-8 _-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python time 模块.py
@Time:2021/3/28 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!\"\"\"
获取本地时区的名字
local_time = time.tzname[0]
如果不设置编码格式,输出是乱码
print(local_time.encode(\'latin-1\').decode(\'gbk\'))
\'\'\'
输出结果:
中国标准时间
\'\'\'
三.Python time 模块使用
1.Python time 模块获取时间
# !usr/bin/env python
# -*- coding:utf-8 _*-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python time 模块.py
@Time:2021/3/28 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
\"\"\"
# 导入时间time模块
import time
# 获取当前时间,默认格式
print(time.asctime())
# 返回 time.struct_time 类型对象
print(time.gmtime())
# 返回 time.struct_time 类型对象
print(time.localtime())
# 返回从 1970 年 1 月 1 日 0 点整到现在过了多少秒
print(time.time())
\'\'\'
输出结果:
Thu Nov 7 21:26:29 2019
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=13, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=21, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0)
1573133189.8083951
\'\'\'
2.Python time 模块自定义时间格式
可以通过 time.strftime 函数 将 struct_time 对象转为自定义时间格式 或者 将字符串转为 struct_time 对象,在转换过程中可能需要用到以下格式参数:
- %a 星期几的简写;
- %A 星期几的全称;
- %b 月分的简写;
- %B 月份的全称;
- %c 标准的日期的时间串;
- %C 年份的后两位数字;
- %d 十进制表示的每月的第几天;
- %D 月/天/年;
- %e 在两字符域中,十进制表示的每月的第几天;
- %F 年-月-日;
- %g 年份的后两位数字,使用基于周的年;
- %G 年分,使用基于周的年;
- %h 简写的月份名;
- %H 24 小时制的小时;
- %I 12 小时制的小时;
- **%j **十进制表示的每年的第几天;
- %m 十进制表示的月份;
- %M 十时制表示的分钟数;
- %n 新行符;
- %p 本地的 AM 或 PM 的等价显示;
- %r 12 小时的时间;
- %R 显示小时和分钟:hh:mm;
- %S 十进制的秒数;
- %t 水平制表符;
- %T 显示时分秒:hh:mm:ss;
- %u 每周的第几天,星期一为第一天 (值从 0 到 6,星期一为 0);
- %U 第年的第几周,把星期日做为第一天(值从 0 到 53);
- %V 每年的第几周,使用基于周的年;
- %w 十进制表示的星期几(值从 0 到 6,星期天为 0);
- %W 每年的第几周,把星期一做为第一天(值从 0 到 53);
- %x 标准的日期串;
- %X 标准的时间串;
- %y 不带世纪的十进制年份(值从 0 到 99);
- %Y 带世纪部分的十制年份;
- %z,%Z 时区名称,如果不能得到时区名称则返回空字符;
- %% 百分号;
将 struct_time 对象转为自定义时间格式,示例代码如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python time 模块.py
@Time:2021/3/28 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
\"\"\"
# 导入时间time模块
import time
str_time = time.strftime(\'%Y-%m-%d %H:%M:%S\', time.gmtime())#再由中间格式转为字符串(str)
print(str_time)
str_time = time.strftime(\'%Y/%m/%d %H:%M:%S\', time.localtime())#再由中间格式转为字符串(str)
print(str_time)
str_time = time.strftime(\'%Y/%m/%d %H-%M-%S\', time.localtime())#再由中间格式转为字符串(str)
print(str_time)
\'\'\'
输出结果:
2019-11-07 14:14:59
2019/11/07 22:14:59
2019/11/07 22-14-59
\'\'\'
3.Python time 模块查看代码执行时间
在 Python 开发项目过程中,我们往往会优化代码,查找哪些代码比较耗时,具体耗时多少,那么同样也可以通过 time 模块完成
# 导入时间模块
import time
start_time = time.time()
# 代码块
elapse_time = time.time() - start_time # 单位:秒
代码分析:通过 time.time() 获取当前时间,然后两个时间相减,自然就能得到代码耗时时间,单位:秒,示例代码如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python time 模块.py
@Time:2021/3/28 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
\"\"\"
# 导入时间time模块
import time
def my_model():
start_time = time.time()
# 如果年底老板给我加薪,我就注释这行代码,可以让程序运行效率明显提升
time.sleep(0.5)
end_time = time.time()
print(\"核心功能代码耗时:{}秒\".format(end_time - start_time))
if __name__ == \"__main__\":
# 核心功能实现
for i in range(0,10):
my_model()
如果哪天你用这样的代码去忽悠你的项目经历或者老板,当你被打断腿的时候请不要提起我!
四.猜你喜欢
未经允许不得转载:猿说编程 » Python time 模块
本文由博客 - 猿说编程 猿说编程 发布!
来源:https://www.cnblogs.com/shuopython/p/14894602.html
图文来源于网络,如有侵权请联系删除。