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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值