1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
The other representation is a tuple of 9 integers giving local time.
The tuple items are:
year (including century, e.g. 1998)
month (1-12)
day (1-31)
hours (0-23)
minutes (0-59)
seconds (0-59)
weekday (0-6, Monday is 0)
Julian day (day in the year, 1-366)
DST (Daylight Savings Time) flag (-1, 0 or 1)
If the DST flag is 0, the time is given in the regular time zone;
if it is 1, the time is given in the DST time zone;
if it is -1, mktime() should guess based on the date and time.
时间字符串是string类型的数据,一种便于阅读的时间数据表示形式。
2 主要函数
time()
time函数返回当前时间戳
1 2 3 4 | t1 = time.time() # time函数返回当前时间戳-float型数据
print("time函数返回当前时间戳-float型数据")
print(t1)
print(type(t1), "\n")
1 2 3 | time函数返回当前时间戳-float型数据
1534260500.7620687
<class 'float'>
localtime(secs)
localtime函数可以接收一个时间戳,返回一个时间元组;如果参数为空,则返回当前时间的元组。
1 2 3 4 | t2 = time.localtime(1493890956) # localtime函数接受一个时间戳,返回一个时间元组
print("localtime函数接受一个时间戳,返回一个时间元组")
print(t2)
print(type(t2), "\n")
1 2 3 | localtime函数接受一个时间戳,返回一个时间元组
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=4, tm_hour=17, tm_min=42, tm_sec=36, tm_wday=3, tm_yday=124, tm_isdst=0)
<class 'time.struct_time'>
asctime(t)
asctime函数接受一个时间元组,返回一个格式化的字符串
1 2 3 4 | 1 2 3 4 | t3 = time.asctime(t2) # asctime函数接受一个时间元组,返回一个格式化的字符串
print("asctime函数接受一个时间元组,返回一个格式化的字符串")
print(t3)
print(type(t3), "\n")
1 2 3 | asctime函数接受一个时间元组,返回一个格式化的字符串
Thu May 4 17:42:36 2017
<class 'str'>
ctime(secs)
ctime函数相当于localtime+asctime的结合
1 2 3 4 | t4 = time.ctime(t1) # ctime函数相当于localtime+asctime的结合
print("ctime函数相当于localtime+asctime的结合")
print(t4)
print(type(t4), "\n")
1 2 3 | ctime函数相当于localtime+asctime的结合
Tue Aug 14 23:28:20 2018
<class 'str'>
strftime函数将时间元组转换成格式化时间字符串
1 2 3 4 5 6 | t5_1 = time.strftime('%Y-%m-%d %H:%M:%S %a %b', t2) # strftime函数将时间元组转换成格式化时间字符串
t5_2 = time.strftime('%A %B %p %I:%M:%S %z')
print("strftime函数将时间元组转换成格式化时间字符串")
print(t5_1)
print(t5_2, '\n')
1 2 3 | strftime函数将时间元组转换成格式化时间字符串
2017-05-04 17:42:36 Thu May
Tuesday August PM 11:28:20 +0800
strptime函数将字符串解析,输出时间元组
1 2 3 4 | t6 = time.strptime('2018年8月14日10点3分45秒', '%Y年%m月%d日%H点%M分%S秒') # strptime函数将字符串解析,输出时间元组
print("strptime函数将字符串解析,输出时间元组")
print(t6)
print(type(t6), "\n")
1 2 3 | strptime函数将字符串解析,输出时间元组
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=14, tm_hour=10, tm_min=3, tm_sec=45, tm_wday=1, tm_yday=226, tm_isdst=-1)
<class 'time.struct_time'>
gmtime(secs)
gmtime函数接收时间戳输出格林尼治时间元组
1 2 3 4 | t7 = time.gmtime(t1) # gmtime函数接收时间戳输出格林尼治时间元组
print("mgtime函数接收时间戳输出格林尼治时间元组,注意loacltime()是输出本地区的时间元组")
print(t7)
print(type(t7), "\n")
1 2 3 | gmtime函数接收时间戳输出格林尼治时间元组,注意loacltime()是输出本地区的时间元组
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=14, tm_hour=15, tm_min=28, tm_sec=20, tm_wday=1, tm_yday=226, tm_isdst=0)
<class 'time.struct_time'>
mktime(t)
mktime函数与gmtime函数相反,接收一个时间元组输出时间戳
1 2 3 4 | t8 = time.mktime(t7) # mktime函数与gmtime函数相反,接收一个时间元组输出时间戳
print("mktime函数与gmtime函数相反,接收一个时间元组输出时间戳")
print(t8)
print(type(t8), "\n")
1 2 3 4 | mktime函数与gmtime函数相反,接收一个时间元组输出时间戳
1534231700.0
<class 'float'>
clock()
返回进程开始后的cpu运行时间
1 2 3 4 | 1 2 3 4 | t3 = time.asctime(t2) # asctime函数接受一个时间元组,返回一个格式化的字符串
print("asctime函数接受一个时间元组,返回一个格式化的字符串")
print(t3)
print(type(t3), "\n")
1 2 3 4 5 | 返回进程开始后的cpu运行时间
E:/PycharmProjects/practise_20180814/test_time.py:63: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
5.021518962
t10 = time.clock() # 返回进程开始后的cpu运行时间
<class 'float'>
这里警告说clock函数将在3.8版本被抛弃,新版本建议使用pref_counter()和process_time().
sleep(secs)
推迟调用线程的运行,secs指秒数。
1 2 3 4 | t9 = time.sleep(5) # 推迟调用线程的运行,secs指秒数。
print("推迟调用线程的运行,secs指秒数。")
print(t9)
print(type(t9), "\n")
1 2 3 | 推迟调用线程的运行,secs指秒数。
<class 'NoneType'>
附上一个关系图:
time模块比较简单也是比较常用的模块,要搞清楚3种数据类型的转化。此外,还可以使用sleep()来挂起线程。接下来会学习与time模块相关的模块calendar模块
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|