time标准库

本文详细介绍了Python中的时间模块,包括时间戳、结构化时间对象和格式化时间字符串的使用。通过实例展示了如何获取当前时间戳、转换为结构化时间对象、格式化输出时间,并演示了它们之间的相互转换。还涉及到了time.sleep()函数的使用以及处理时间格式化错误的方法。
摘要由CSDN通过智能技术生成

传送门:零基础Python手把手学编程课程2020最新Python零基础入门课程(完结)想学Python这部视频就够了_哔哩哔哩_bilibili

time模块中三种时间表示方式

  1. 时间戳
  2. 结构化时间对象
  3. 格式化时间字符串

时间戳

import time

时间戳 1970.1.1 到指定时间的间隔 单位是秒

time.time() 生成当前时间的时间戳

time.time()-3600 一个小时之前的时间戳

结构化时间对象

st = time.localtime()
print(type(st))
print(st)

输出结果:

<class 'time.struct_time'>
time.struct_time(tm_year=2022, tm_mon=6, tm_mday=17, tm_hour=16, tm_min=15, tm_sec=12, tm_wday=4, tm_yday=168, tm_isdst=0)

st 本质上是一个元组

print('今天是{}-{:02d}-{}'.format(st[0],st[1],st[2]))
print('今天是 星期{}'.format(st.tm_wday+1))

输出结果:

今天是2022-06-17
今天是 星期5

对象的属性是只读的 不能改

格式化时间字符串

print(time.ctime())

输出结果:

Fri Jun 17 16:20:20 2022

strftime(时间格式)'%Y-%m-%d %H:%M:%S'

print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y年%m月%d日 %H时%M分%S秒'))

输出结果:

2022-06-17 16:25:44
2022年06月17日 16时25分44秒

如果报错:

UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error 

就需要在代码中添加:

import locale
locale.setlocale(locale.LC_CTYPE,'chinese')

sleep:

t1 = time.time()
print('sleep begin...')
time.sleep(1.23)
print('sleep end')
t2 = time.time()
print("执行了{:.3f}秒".format(t2-t1))

三种格式之间的转换:

时间戳 转换为 结构化对象

# UTC时间
time.gmtime(time.time())
time.gmtime()
# local
print(time.localtime())
print(time.localtime(time.time()))

结构化对象 转换为 时间戳

# mktime(st)
print(time.time())
print(time.mktime(time.localtime()))

结构化对象 转换为 格式化时间字符串

# strftime(format,st)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
print(time.strftime('%Y-%m-%d %H:%M:%S',time.gmtime()))

格式化字符串 转换为 结构化时间对象

# strptime(str, format)
strtime = '2020-07-25 13:23:18'
print(time.strptime(strtime,'%Y-%m-%d %H:%M:%S'))

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值