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 time.ctime()

该time.ctime()函数将自纪元以来经过的秒数作为参数,并返回一个表示本地时间的字符串。
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print(“Local time:”, local_time)
如果运行该程序,输出将类似于:
当地时间:2018年12月27日星期四15:49:29


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()函数将自 epoch 以来经过的秒数作为参数并struct_time以本地时间返回。
import time result = time.localtime(1545925769) print(“result:”, result) print(“\nyear:”, result.tm_year) print(“tm_hour:”, result.tm_hour)
运行程序时,输出将类似于:
结果: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) 年份:2018 tm_hour: 15
如果没有参数或None传递给localtime(),time()则使用返回的值。


Python time.gmtime()

该gmtime()函数将自 epoch 以来经过的秒数作为参数并struct_time以UTC返回。
import time result = time.gmtime(1545925769) print(“result:”, result) print(“\nyear:”, result.tm_year) print(“tm_hour:”, result.tm_hour)
当你运行程序时,输出将是:
结果 = 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) 年 = 2018 tm_hour = 8
如果没有参数或None传递给gmtime(),time()则使用返回的值。


Python time.mktime()

该mktime()函数将struct_time(或包含对应于 的 9 个元素的元组struct_time)作为参数,并返回自本地时间纪元以来经过的秒数。基本上,它是 的反函数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 time.asctime()

该asctime()函数将struct_time(或包含对应于 的 9 个元素的元组struct_time)作为参数并返回表示它的字符串。下面是一个例子:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print(“Result:”, result)
当你运行程序时,输出将是:
结果:2018 年 12 月 28 日星期五 08:44:04


Python time.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 time.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)