python主要有三种时间格式:
  • 时间戳:一个浮点数,表示当前时间与1970年1月1日0时0分0秒的差值,单位为秒
  • 格式化时间:由字母和数字组的时间表示形式,比如’Mon Nov 13:02:35 2019‘
  • 时间元组:以元组的形式表示时间,9项参数,比如:(tm_year=2019, tm_mon=11, tm_mday=2, tm_hour=16, tm_min=54, tm_sec=31, tm_wday=3, tm_yday=306, tm_isdst=0)
python的时间模块time对于这三者的转换关系如图:

python time毫秒占位符 python time单位_python

格式化符号含义

格式

含义

备注

%a

本地(locale)简化星期名称

%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


0–61(60、61为闰秒)

%U

一年中的星期数。

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

%w

一个星期中的第几天

0 - 6,0是星期天

%W

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

%x

本地相应日期

%X

本地相应时间

%y

去掉世纪的年份

00 - 99

%Y

完整的年份

四位数,如2019

%Z

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

%%

‘%’字符

时间元组参数含义

python time毫秒占位符 python time单位_time模块_02

time模块常用函数

time.time()

获取当前的时间戳

import time
t = time.time()
print(f'当前时间戳为:{t}')
# 当前时间戳为:1573265697.5222402
time.gmtime(sec)

将当前时区的时间戳转化为UTC的时间元组,即格林乔治时间的时间元组
参数 sec :需要转化的时间戳,默认是当前的时间戳time.time()

g_time = time.gmtime(t)
print(f'{t}的格式乔治时间为{g_time}')
# 1573265697.5222402的格林乔治时间为time.struct_time(tm_year=2019, tm_mon=11, tm_mday=9, tm_hour=2, tm_min=14, tm_sec=57, tm_wday=5, tm_yday=313, tm_isdst=0)
g_time1 = time.gmtime()
print(f'当前时间的格林乔治时间为{g_time1}')
# 当前时间的格林乔治时间为time.struct_time(tm_year=2019, tm_mon=11, tm_mday=9, tm_hour=2, tm_min=23, tm_sec=0, tm_wday=5, tm_yday=313, tm_isdst=0)
time.localtime(sec)

将当前时区的时间戳转化为当前时区的时间元组
参数 sec:需要转化的时间戳,默认是当前的时间戳time.time()

l_time = time.localtime()
print(f'当前时间的时间元组为{l_time}')
# 当前时间的时间元组为time.struct_time(tm_year=2019, tm_mon=11, tm_mday=9, tm_hour=10, tm_min=26, tm_sec=45, tm_wday=5, tm_yday=313, tm_isdst=0)
time.mktime(t)

将时间元组转化为当前时区的时间戳,返回一个浮点数,小数部分为0,与time.localtime()相反
参数 t : 需要转化的时间元组

m_time = time.mktime(t=time.localtime())
print(f'时间戳为{m_time}')
# print(f'时间戳为{m_time}')	  
# 时间戳为1573268231.0
时间格式化函数: time.strftime()和time.strptime()
  • time.strftime(format, struct_time) : 将时间元组转化为规定的时间格式
    参数 format:格式化符号
    参数 struct_time: 需要转化的时间元组,默认为time.localtime()
sf_time = time.strftime('%Y-%m-%d %H:%M:%S')
print(f'当前时间为:{sf_time}')
# 当前时间为:2019-11-09 10:37:26
  • time.strptime(string, format):将时间字符串转化为时间元组
    参数 string: 需要转化的时间字符串,如 ‘2019-11-09’
    参数 format: 格式字符。默认是 “%a %b %d %H:%M:%S %Y”
    **注意:**设置format参数时,需与前面的string格式一致;即string设为’2019-11-09’,则format为’%Y-%m-%d’
sp_time = time.strptime('2019-11-09', '%Y-%m-%d')
print(f'2019-11-09的时间元组为:\n{sp_time}')
# 2019-11-09的时间元组为:
# time.struct_time(tm_year=2019, tm_mon=11, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=313, tm_isdst=-1)
time.asctime()

将表示time.gmtime()或time.localtime()返回的时间的tuple或struct_time转换为以下形式的字符串:“Sun Jun 20 23:21:05 1993”。如果没有提供t,则使用localtime()返回的当前时间。asctime()不使用区域信息。

asc_time = time.asctime()
print(asc_time)
# 'Sat Nov  9 11:26:00 2019'
time.sleep(sec)

时间休眠函数,让程序暂停sec秒
参数 sec :需要休眠的时间

def show():
	  print(f"此时为:{time.strftime('%H:%M:%S')}")
	  time.sleep(5) # 休眠5秒
	  print(f"休眠5秒后:{time.strftime('%H:%M:%S')}")
show()
# 时为:11:36:21
# 休眠5秒后:11:36:26