python 时间模块 time

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对于这三者的转换关系如图:

在这里插入图片描述

格式化符号含义
格式含义备注
%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的相应符
%S0–61(60、61为闰秒)
%U一年中的星期数。00 - 53星期天是一个星期的开始;第一个星期天之前的所有天数都放在第0周。
%w一个星期中的第几天0 - 6,0是星期天
%W和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x本地相应日期
%X本地相应时间
%y去掉世纪的年份00 - 99
%Y完整的年份四位数,如2019
%Z时区的名字(如果不存在为空字符)
%%‘%’字符
时间元组参数含义

在这里插入图片描述

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

以上就是对python时间模块time的简单介绍,更多内容可以参考官方文档:
https://docs.python.org/3.7/library/time.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值