Python时间模块
Python 时间模块
在本文中,我们将详细探讨时间模块。我们将通过示例学习使用时间模块中定义的不同时间相关函数。
Python 有一个名为 time 的模块 处理与时间相关的任务。要使用模块中定义的函数,我们需要先导入模块。方法如下:
import time 以下是常用的时间相关函数。
Python time.time()
time() 函数返回自纪元以来经过的秒数。
对于 Unix 系统,January 1, 1970, 00:00:00 UTC 是纪元(时间开始的点)。
import time
seconds = time.time()
print("Seconds since epoch =", seconds)
Python 时间.ctime()
time.ctime() 函数将自纪元以来经过的秒数作为参数,并返回一个表示本地时间的字符串。
import time
# seconds passed since epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)
如果你运行程序,输出会是这样的:
Local time: Thu Dec 27 15:49:29 2018
Python time.sleep()
sleep() 函数将当前线程的执行暂停(延迟)给定的秒数。
import time
print("This is printed immediately.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")
要了解更多信息,请访问:Python sleep()。
在我们讨论其他与时间相关的函数之前,我们先来探索一下time.struct_time 简单的课。
time.struct_time 类
time中的几个函数 gmtime() 等模块 , asctime() 等要么采取 time.struct_time 对象作为参数或返回它。
这是 time.struct_time 的示例 对象。
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27,
tm_hour=6, tm_min=35, tm_sec=17,
tm_wday=3, tm_yday=361, tm_isdst=0)
| 索引 | 属性 | 价值观 |
|---|---|---|
| 0 | tm_year | 0000, ...., 2018, ..., 9999 |
| 1 | tm_mon | 1, 2, ..., 12 |
| 2 | tm_mday | 1, 2, ..., 31 |
| 3 | tm_hour | 0, 1, ..., 23 |
| 4 | tm_min | 0, 1, ..., 59 |
| 5 | tm_sec | 0, 1, ..., 61 |
| 6 | tm_wday | 0, 1, ..., 6;星期一是 0 |
| 7 | tm_yday | 1, 2, ..., 366 |
| 8 | tm_isdst | 0、1 或 -1 |
time.struct_time 的值(元素) 可以使用索引和属性访问对象。
Python time.localtime()
localtime() 函数将自纪元以来经过的秒数作为参数并返回 struct_time 当地时间 .
import time
result = time.localtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
当你运行程序时,输出会是这样的:
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) year: 2018 tm_hour: 15
如果没有参数或 None 传递给 localtime() , time() 返回的值 被使用了。
Python 时间.gmtime()
gmtime() 函数将自纪元以来经过的秒数作为参数并返回 struct_time UTC .
import time
result = time.gmtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
当你运行程序时,输出将是:
result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) year = 2018 tm_hour = 8
如果没有参数或 None 传递给 gmtime() , time() 返回的值 被使用了。
Python 时间.mktime()
mktime() 函数采用 struct_time (或包含对应于 struct_time 的 9 个元素的元组 ) 作为参数并返回自本地时间纪元以来经过的秒数。基本上就是localtime()的反函数 .
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Local time:", local_time)
下面的例子展示了如何 mktime() 和 localtime() 是相关的。
import time
seconds = 1545925769
# returns struct_time
t = time.localtime(seconds)
print("t1: ", t)
# returns seconds from struct_time
s = time.mktime(t)
print("\s:", seconds)
当你运行程序时,输出会是这样的:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
Python 时间.asctime()
asctime() 函数采用 struct_time (或包含对应于 struct_time 的 9 个元素的元组 ) 作为参数并返回一个表示它的字符串。举个例子:
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Result:", result)
当你运行程序时,输出将是:
Result: Fri Dec 28 08:44:04 2018
Python 时间.strftime()
strftime() 函数采用 struct_time (或对应的元组)作为参数,并根据使用的格式代码返回一个表示它的字符串。例如,
import time
named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
当你运行程序时,输出会是这样的:
12/28/2018, 09:47:41
这里,%Y , %m , %d , %H 等是格式代码。
%Y- 年份 [0001,..., 2018, 2019,..., 9999]%m- 月 [01, 02, ..., 11, 12]%d- 第 [01, 02, ..., 30, 31] 天%H- 小时 [00, 01, ..., 22, 23%M- 分钟 [00, 01, ..., 58, 59]%S- 秒 [00, 01, ..., 58, 61]
要了解更多信息,请访问:time.strftime()。
Python 时间.strptime()
strptime() 函数解析表示时间的字符串并返回struct_time .
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
当你运行程序时,输出将是:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)
Python