time模块

一、时间的三种表示方法

1.1 时间戳(timestamp)

import time
print(time.time())
#1605930113.361613

时间戳:显示从1970-01-01 00:00:00(格林尼治时间)起一直到现在的秒数
显示从1970-01-01 08:00:00(北京时间)起一直到现在的秒数
作用:可以用来计算时间间隔

t1 = time.time()
time.sleep(3)
t2 = time.time()
print(t2-t1)
# 3.000171422958374

1.2 结构化时间(struct time)

res = time.localtime()
print(time.localtime())
#time.struct_time(tm_year=2020, tm_mon=11, tm_mday=21, tm_hour=11, tm_min=48, tm_sec=19, tm_wday=5, tm_yday=326, tm_isdst=0)

其中需要注意的是tm_wday = 5的指的是今天是一周中的星期六,0:星期一,6:星期日
tm_yday=326指的是今天是一年中的第326天。
DST指的是夏令时,0:不是夏令时,1:是夏令时

作用:结构化时间方便于取部分时间用于调用

res = time.localtime()
print(res)
print(res.tm_year)
print("The %sth day"%res.tm_yday)

#time.struct_time(tm_year=2020, tm_mon=11, tm_mday=21, tm_hour=11, tm_min=56, tm_sec=37, tm_wday=5, tm_yday=326, tm_isdst=0)
#2020
#The 326th day

1.3 格式化时间(format time)

作用:标准时间显示

print(time.strftime("%Y-%m-%d %H:%M:%S %p"))
2020-11-21 11:59:08 AM

除了time模块之外,datetime也可以用作标准时间的显示

import datetime
print(datetime.datetime.now())
print(datetime.datetime.now()-datetime.timedelta(weeks=3))
#2020-11-21 12:03:58.868891
#2020-10-31 12:03:58.868891

二、时间格式的转换

在这里插入图片描述
如何把一个时间字符串转换成标准的格式化时间?

;# format time <---> struct time <---> timestamp
"1970-01-01 09:00:00"
# str"time" ---> struct time
struct_time = time.strptime("1970-01-01 08:00:00","%Y-%m-%d %H:%M:%S")
# struct time ---> timestamp
timestamp = time.mktime(struct_time)
# timestamp ---> struct time
res1 = time.localtime(timestamp)  # 本地时区: 北京时间:UTC+8
res2 = time.gmtime(timestamp)   # 格林尼治时间
# struct time ---> format time
res3 = time.strftime("%Y-%m-%d %X",res1)
res4 = time.strftime("%Y-%m-%d %X",res2)
print(res3)
print(res4)
print(time.mktime(res1))

# 1970-01-01 08:00:00
# 1970-01-01 00:00:00
# 0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值