详解Python:time模块用法
简介
Python中的time模块是处理时间的模块。它提供了获取时间、时间格式化、睡眠等功能。在本文中,我们将详细讲解time模块的用法,包括获取当前时间、获取时间戳、时间格式化、时间周期、睡眠等内容。
函数和属性
以下是time模块提供的常用函数和属性:
time.altzone
:返回格林威治西部夏令时(DST)的偏移秒数。time.asctime([tuple])
:把时间元组转换为字符串。time.clock()
:返回处理器时间,用来衡量短时间内的程序运行速度。time.ctime([secs])
:把时间戳转换为字符串。如果省略参数,则用time()函数获得当前时间戳。time.gmtime([secs])
:将时间戳转换为UTC时间。time.localtime([secs])
:将时间戳转换为当地时间。time.mktime(tuple)
:将时间元组转换为时间戳。time.sleep(secs)
:推迟调用线程的运行,secs秒后继续执行。time.time()
:返回当前时间的时间戳(1970年1月1日以来的秒数)。time.strftime(format[, tuple])
:把时间元组格式化为字符串。time.strptime(string[, format])
:把格式化的字符串转换为时间元组。time.timezone
:当地时区(非夏令时)的偏移秒数。time.tzname
:包含一对字符串,用来把当地时间(非夏令时)转换为UTC时间。
获取当前时间
获取当前时间是time模块中最简单的操作,仅需调用time()方法即可:
import time
current_time = time.time()
print(current_time)
输出的结果是当前时间的时间戳,如:1609280036.4972506。如果你需要将其转换为普通时间格式,则需要使用ctime()方法:
import time
current_time = time.time()
print(time.ctime(current_time))
输出的结果为类似“Tue Dec 29 14:41:05 2020”的字符串格式。
获取时间戳
时间戳是一个浮点数,它表示从1970年1月1日(UTC/GMT的午夜)到当前时间的秒数。获取时间戳的方法与获取当前时间方法类似,也是调用time()方法,如下所示:
import time
timestamp = time.time()
print(timestamp)
输出的结果是当前的时间戳,如:1609280036.4972506。
时间格式化
格式化时间是将时间转换为字符串的一种方式。使用strftime()方法,可以根据自己的需求格式化时间。下面是一些常用的时间格式化参数:
参数 | 含义 | 示例 |
---|---|---|
%a | 本地简化星期名称(例如Mon) | Mon |
%A | 本地完整星期名称(例如Monday) | Monday |
%b | 本地简化的月份名称(例如Jan) | Jan |
%B | 本地完整的月份名称(例如January) | January |
%c | 本地相应的日期和时间表示 | Tue Dec 29 14:41:05 2020 |
%d | 月内中的一天(01-31) | 29 |
%H | 24小时制小时数(00-23) | 14 |
%I | 12小时制小时数(01-12) | 02 |
%j | 年内的一天(001-366) | 363 |
%m | 月份(01-12) | 12 |
%M | 分钟数(00-59) | 41 |
%p | 本地am或pm的等价符 | PM |
%S | 秒(00-59) | 05 |
%U | 一年中的星期数(00-53)星期天是一周的开始 | 52 |
%w | 星期(0-6),星期天为0 | 2 |
%W | 一年中的星期数(00-53)星期一是一周的开始 | 52 |
%x | 本地相应日期表示 | 12/29/20 |
%X | 本地相应时间表示 | 14:41:05 |
%y | 去掉世纪的年份(00-99) | 20 |
%Y | 完整的年份 | 2020 |
%Z | 时区名称 | CST |
以下是一个示例程序,使用strftime()方法将时间格式化:
import time
timestamp = time.time()
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(formatted_time)
输出的结果为类似“2020-12-29 14:41:05”的字符串格式。
时间周期
时间周期指的是时间差,可以用来统计两个时间之间的时间长短。我们可以用timedelta类来表示两个时间差。timedelta类可以支持微秒以及比微秒更高的时间差。
下面是一个获取两个时间之间的时间差的示例程序:
import datetime
start_time = datetime.datetime(2020, 12, 25, 0, 0, 0)
end_time = datetime.datetime.now()
time_delta = end_time - start_time
print(time_delta)
输出的结果格式为“n days, hh:mm:ss”的形式,如:4 days, 14:33:20.530219
睡眠
如果你需要暂停程序的执行一段时间,可以使用sleep方法来完成。sleep方法会暂停程序的执行,直到指定的时间结束。下面是一个例子:
import time
print("start")
time.sleep(3)
print("end")
程序会先输出“start”,接着暂停3秒钟,最后输出“end”。
结论
在本文中,我们详细讲解了time模块的用法,包括获取当前时间、获取时间戳、时间格式化、时间周期、睡眠等内容。时刻记住,在处理时间时,不同场景需要不同的方法。熟练掌握time模块是Python编程中必不可少的一环。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解python:time模块用法 - Python技术站