python中time模块(笔记)

一、功能:
time模块主要包含各种提供日期、时间功能的类和函数。
1.把日期、时间格式转化为字符串
2.将日期、时间从字符串恢复

二、time.struct_time类中各种属性

字段名 字段含义 举例
tm_year 如2019、2020等(表示年份)
tm_mon 范围:1~12
tm_mday 范围:1~31
tm_hour 范围:0~23
tm_min 范围:0~59
tm_sec 范围:0~59
tm_wday 注意:周一为0,范围:0~6
tm_yday 一年内第几天 如:183为一年内的第183天,范围:1~366
tm_isdst 夏令时 0、1或-1

三、time模块内常用的功能函数如下:

函数 使用
time.asctime() 将时间元组或struct_time转换为时间字符串,如果不指定参数t,则默认转换当前时间。
time.ctime() 将以秒数(时间戳)代表的时间转换为时间字符串。
time.gmtime(]) 将以秒数(时间戳)代表的时间转换为UTC时区(0时区)当前时间的struct_time对象,如果不传入参数,则使用当前时间。
time.localtime() 将以秒数(时间戳)代表的时间转换为本地当前时间的struct_time对象,如果不传入参数,则使用当前时间。
time.mktime() 该函数是localtime的反转函数,用于将struct_time对象或元组代表的时间转换为从1970年1月1日0点整到现在过了多少秒。
time.perf_counter() 返回性能计数器的值。以秒数为单位。
time.process_time() 返回当前进程使用CPU的时间。以秒数为单位。
time.sleep(secs) 暂停secs秒,就是让程序睡觉,啥都不做,就等secs秒
time.strftime() 将时间元组或struct_time对象格式化为指定格式的时间字符串。如果不指定参数t,则默认使用当前时间,格式例如:time.strftime(’%Y-%m-%d %H:%M:%S’)
time.strptime() 改函数与strftime互逆,可以将字符串格式的时间解析成struct_time对象。
time.time() 返回从1970年1月1日0点整到现在过去了多少秒。
time.timezone 返回本地时区的时间偏移,以秒数为单位,注意:
time.tzname 返回本地时区名字,注意:tzname后面是没有小括号的,加上小括号会报错。

补充:
time模块中的strfiname()和strptime()两个函数互为逆函数,其中strftime()用于将struct_time对象或时间元组转换为时间字符串,而strptime()函数用于讲时间字符串转换为struct_time对象。这两个函数都涉及编写格式模板,下面列出了python时间格式字符串所支持的指令

指令 含义
%a 本地化的星期几的缩写名,例如Sun代表星期天
%A 本地化的星期几的完整名, 例如Sunday
%b 本地化的月份的缩写名,例如Jan代表一月
%B 本地化的月份的完整名,例如January代表一月份
%c 本地化的日期和时间的表示形式,例如:print(time.strftime(’%c’)), 输出结果为:Thu Jul 2 11:34:10 2020,表示的是:周 月 日 时:分:秒 年
%d 表示一个月中第几天的数值,范围:01~31
%H 表示24小时制的小时,范围:00~23
%I 表示12小时制的小时,范围:01~12
%j 表示一年中的第几天, 范围:001~366
%m 表示月份的数值,范围:01~12
%M 表示分钟的数值,范围:00~59
%p 表示上午或下午本地化方式,当使用strptime()函数并使用%I指令解析小时时,%p只影响小时字段
%S 表示分钟的数值,范围:00~61 ,没有错,该范围确实是00-61,找表示闰秒的时间戳时有效,而61则是由于一些历史原因造成的
%U 表示一年中的第几周,以星期天为一周的第一天,范围:00~53,一年 中的第一个星期天为第一周,当使用strptime()函数解析时间字符串时,自由同时指定了星期几和年份该指令才会生效
%w 表示星期几的数值,范围 -6 ,其中 代表周日
%W 表示一年中的第几周,以星期天为一周的第一天,范围:00~53,一年 中的第一个星期天为第一周,当使用strptime()函数解析时间字符串时,自由同时指定了星期几和年份该指令才会生效
%x 本地化的日期的表示形式,例如:07/02/20
%X 本地化的时间的表不形式,例如:07/02/20
%y 年份的缩写,范围:00~99,例如2020就简写成20
%Y 年份的完整形式。如 2020
%z 显示时区偏移
%Z 显示时区名(如果时区不存在,则显示未空)
%% 用于表示%符号

实例:

import time
# 将当前时间转换为字符串
print(time.asctime())
# 将指定时间转换为时间字符串,时间元组的后面3个元素没有设置
print(time.asctime((2020, 12, 4, 12, 45, 3, 0, 0, 0))) #表示将2020年12月4日12时45分3秒转换为时间字符串

# 将以秒数代表的时间转换为时间字符串,转换为本地时间
print(time.ctime(30)) # Thu Jan 1 08:30 1970 (本地时间)

# 将以秒数代表的时间转换为struct_time对象,显示的是在0时区的时间
print(time.gmtime(30)) 

#将当前时间转换为struct_time对象, 显示的是在0时区的时间
print(time.gmtime())

# 将以秒数代表的时间转换为代表当前时间的struct_time对象,显示的是本地时间
print(time.localtime(30))

# 将以秒数代表的时间转换为代表当前时间的struct_time对象,显示的是本地时间
print(time.localtime())

# 将元组格式的时间转换为以秒数代表的时间(转换为时间戳)
print(time.mktime((2020, 12, 24, 10, 15, 15, 0, 0, 0)))

#返回性能计数器的值
print(time.perf_counter())

# 返回当前进程使用CPU的时间
print(time.process_time())

# 使程序暂停3秒(睡3秒)
print(time.sleep(3))

# 将当前时间转换为指定格式的字符串
print(time.strftime('%Y-%m-%d %H:%M:%S'))

Time = '2020年7月2日'
# 将指定时间字符串转换恢复成struct_time第次昂
print(time.strptime(Time, '%Y年%m月%d日'))

# 返回从1970年1月1日0点整到现在过了多少秒
print(time.time())

# 返回本地时区的时间偏移,以秒为单位
print(time.timezone) # 在中国东八区输出-28800

猜你喜欢

转载自blog.csdn.net/weixin_44901564/article/details/107068694