python timeit模块,Pythontime模块
时间模块主要包括提供日期和时间函数的各种类和函数。该模块不仅提供了将日期和时间格式化为字符串的功能,还提供了从字符串中恢复日期和时间的功能。
先在Python的交互解释器中导入time模块,然后输入命令[e for e in dir(time)if not e . starts with( _ )]查看该模块包含的所有属性和函数:
[efore indir(time)if note . starts with( _ )]
[altzone , asctime , clock , ctime , daylight , get_clock_info , gmtime , localtime , mktime ,
单调,
Perf _ counter , process _ time , sleep , strftime , strptime , struct _ time , time , timezone , tzname]在time模块中提供了一个time.struct_time类,它表示一个time对象。
表1时间内各属性的含义。struct _ time类字段名字段的含义值tm_year year如2017、2018等。tm_mon月像2,3等。范围是1~12tm_mday日如2、3等。范围为1~31tm_hour如2,范围为0~23tm_min如2。范围为0~59tm_sec秒,如2、3等。取值范围为0~59tm_wday,取值范围为0~6tm_yday,一年中的某一天,如65,取值范围为1~366tm_isdst,夏令时为0,1或-1。比如Python可以用time . struct _ time(TM _ year=TM _ mon=5,TM _ mday=2,TM _ hour=8,TM _ min=0,TM _ sec=30,TM _ wday=3,TM _ yday=1,TM _ isdst=0)明确表示时间。
另外,Python还可以用一个包含9个元素的元组来表示时间,并且这个元组中的9个元素和struct_time对象中的9个属性的含义是一一对应的。比如程序可以用(2018,May,2,8,0,30,3,1,0)来表示时间。
日期和时间模块中常用的函数如下:
Time.asctime([t]):将时间元组或struct_time转换为时间字符串。如果未指定参数t,默认情况下会转换当前时间。
Time.ctime([secs]):将以秒表示的时间转换为时间符号字符串。
Time.gmtime([secs]):将以秒表示的时间转换为struct_time对象。如果没有传入参数,则使用当前时间。
Time.localtime([secs]):将秒表示的时间转换为表示当前时间的struct_time对象。如果没有传入参数,则使用当前时间。
Time.mktime(t):是localtime的反函数,用于转换struct_time对象
或元组代表的时间转换为从 1970 年 1 月 1 日 0 点整到现在过了多少秒。
time.perf_counter():返回性能计数器的值。以秒为单位。
time.process_time():返回当前进程使用 CPU 的时间。以秒为单位。
time.sleep(secs):暂停 secs 秒,什么都不干。
time.strftime(format[, t]):将时间元组或 struct_time 对象格式化为指定格式的时间字符串。如果不指定参数 t,则默认转换当前时间。
time.strptime(string[, format]):将字符串格式的时间解析成 struct_time 对象。
time.time():返回从 1970 年 1 月 1 日 0 点整到现在过了多少秒。
time.timezone:返回本地时区的时间偏移,以秒为单位。
time.tzname:返回本地时区的名字。
下面程序示范了 time 棋块的功能函数:
importtime
运行上面程序,可以看到如下输出结果:
FriFeb2211:28:392019
time 模块中的 strftime() 和 strptime() 两个函数互为逆函数,其中 strftime() 用于将 struct_time 对象或时间元组转换为时间字符串;而 strptime() 函数用于将时间字符串转换为 struct_time 对象。这两个函数都涉及编写格式模板,比如上面程序中使用 %Y 代表年、%m 代表月、%d 代表日、%H 代表时、%M 代表分、%S 代表秒。这两个函数所需要的时间格式字符串支持的指令如下表所示:
指
令
含义
%a本地化的星期几的缩写名,比如 Sun 代表星期天%A本地化的星期几的完整名%b本地化的月份的缩写名,比如 Jan 代表一月%B本地化的月份的完整名%c本地化的日期和时间的表示形式%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,60 在表示闰秒的时间戳时有效,而 61 则是由于一些历史原因造成的%U代表一年中表示第几周,以星期天为每周的第一天,范围:00~53。在这种方式下,一年中第一个星期天被认为处于第一周
。当使用 strptime() 函数解析时间字符串时,只有同时指定了星期几和年份该指令才会有效
%w代表星期几的数值,范围:0~6,其中 0 代表周日%W代表一年小第几周,以星期一为每周的第一天,范围:00~53。在这种方式下,一年中第一个星期一被认为处于第一周
。当使用 strptime() 函数解析时间字符串时,只有同时指定了星期几和年份该指令才会有效
%x本地化的日期的表示形式%X本地化的时间的表示形式%y年份的缩写,范围:00~99,比如 2018 年就简写成 18%Y年份的完整形式。如 2018%z显示时区偏移%Z时区名(如果时区不行在,则显示为空)%%用于代表%符号
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。