Python time 模块

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

       Python time 模块主要包含各种提供日期、时间功能的相关函数。time模块既提供了把日期、时间格式化为字符串的功能,也提供了从字符串恢复日期、时间的功能。

Python time 模块

一.前言

       在 time 模块内提供了很多函数,很多函数都会返回一个 time.struct_time 类,该类代表一个时间对象,它主要包含 9 个属性,每个属性的信息如图所示:

Python time 模块

二.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 模块

三.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 模块

四.猜你喜欢

  1. Python 配置环境
  2. Python 变量
  3. Python 运算符
  4. Python 条件判断 if/else
  5. Python while循环
  6. Python break
  7. Python continue
  8. Python for循环
  9. Python 字符串
  10. Python 列表list
  11. Python 元组tuple
  12. Python 字典 dict
  13. Python 条件推导式
  14. Python 列表推导式
  15. Python 字典推导式
未经允许不得转载:猿说编程 » Python time 模块
喜欢(4) 打赏

评论抢沙发

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏