python中time模块(笔记)

    技术2022-07-11  100

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

    二、time.struct_time类中各种属性

    字段名字段含义举例tm_year年如2019、2020等(表示年份)tm_mon月范围:1~12tm_mday日范围:1~31tm_hour时范围:0~23tm_min分范围:0~59tm_sec秒范围:0~59tm_wday周注意:周一为0,范围:0~6tm_yday一年内第几天如:183为一年内的第183天,范围:1~366tm_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
    Processed: 0.010, SQL: 9