Python学习——time模块

  • 一、表示时间的方法
  • 二、常用函数
  • ==time.time():返回当前时间的时间戳。==
  • ==time.ctime([secs]):把时间戳转化为time.asctime()的形式。==
  • ==time.localtime([secs]):将时间戳转换为当前时区的struct_time。==
  • ==time.gmtime([secs]):将时间戳转换为UTC时区(0时区)的struct_time==
  • ==time.mktime(t):将一个struct_time转化为时间戳。==
  • ==time.sleep(secs):线程推迟指定的时间运行。单位为秒。==
  • ==time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Jun 20 23:21:05 1993’。==
  • ==time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。==


一、表示时间的方法

1.时间戳表示法:

即以整型或浮点型表示的是一个以秒为单位的时间间隔。这个时间的基础值是从1970年的1月1号零点开始算起。

import time
print(time.time())
1596760621.3079221  (当前时间距离1970年的1月1号零点已过去1596760621.3079221秒)

2.格式化的时间字符串:
即以格式化字符串的格式输出时间形式。

print(t.strftime("%Y-%m-%d %H:%M:%S"))#具体含义参考后文格式图表
#2021-03-11 19:12:33

3.元组格式表示法:
用Python的数据结构表示。这个元组有9个整型内容(不能少),分别表示不同的时间含义。

索引

属性


0 tm_year

(年)

比如2021

1 tm_mon

(月)

1 - 12

2 tm_mday

(日)

1 - 31

3 tm_hour

(时)

0 - 23

4 tm_min

(分)

0 - 59

5 tm_sec

(秒)

0 - 61

6 tm_wday

(weekday)

0 - 6(0表示周日)

7 tm_yday

(一年中的第几天)

1 - 366

8 tm_isdst

(是否是夏令时)

默认为-1

print(t.localtime())
#time.struct_time(tm_year=2021, tm_mon=3, tm_mday=11, tm_hour=15, tm_min=16, tm_sec=13, tm_wday=3, tm_yday=70, tm_isdst=0)



二、常用函数

time.time():返回当前时间的时间戳。

import time as t
print(t.time())
#1615444577.8884468

time.ctime([secs]):把时间戳转化为time.asctime()的形式。

如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。

import time as t
print(t.ctime())
#Thu Mar 11 15:13:08 2021

time.localtime([secs]):将时间戳转换为当前时区的struct_time。

import time as t
a = t.localtime()
print(a)
print(t.localtime())
#time.struct_time(tm_year=2021, tm_mon=3, tm_mday=11, tm_hour=15, tm_min=16, tm_sec=13, tm_wday=3, tm_yday=70, tm_isdst=0)
#time.struct_time(tm_year=2021, tm_mon=3, tm_mday=11, tm_hour=15, tm_min=16, tm_sec=13, tm_wday=3, tm_yday=70, tm_isdst=0)

time.gmtime([secs]):将时间戳转换为UTC时区(0时区)的struct_time

import time as t
t.gmtime()
print(t.gmtime())
#time.struct_time(tm_year=2021, tm_mon=3, tm_mday=11, tm_hour=7, tm_min=25, tm_sec=45, tm_wday=3, tm_yday=70, tm_isdst=0)

time.mktime(t):将一个struct_time转化为时间戳。



time.sleep(secs):线程推迟指定的时间运行。单位为秒。

import time as t
t.sleep(2)
print("我执行了...")
# 推迟2秒后打印“我执行了”

time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Jun 20 23:21:05 1993’。

如果没有参数,将会将time.localtime()作为参数传入。

import time as t 
print(t.asctime())
# Thu Mar 11 19:09:43 2021

time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。

如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。

import time as t 
print(t.strftime("%Y-%m-%d %H:%M:%S"))
#2021-03-11 19:12:33

格式图表

格式

含义

%A

本地完整星期名称

%b

本地简化月份名称

%B

本地完整月份名称

%c

本地相应的日期和时间表示

%d

一个月中的第几天(01 - 31)

%H

一天中的第几个小时(24小时制,00 - 23)

%I

第几个小时(12小时制,01 - 12)

%j

一年中的第几天(001 - 366)

%m

月份(01 - 12)

%M

分钟数(00 - 59)

%p

本地am或者pm的相应符

%S

秒(01 - 61)

%U

一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。

%w

一个星期中的第几天(0 - 6,0是星期天)

%W

和%U基本相同,不同的是%W以星期一为一个星期的开始。

%x

本地相应日期

%X

本地相应时间

%y

去掉世纪的年份(00 - 99)

%Y

完整的年份

%Z

时区的名字(如果不存在为空字符)

%%

‘%’字符