模块-时间管理:time 和 datetime

1、import time

时间分为三种格式

1.1、时间戳

# 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

# 我们运行“type(time.time())”,返回的是float类型。

print(time.time())

# 1617280797.3197777 

1.2、格式化的字符

print(time.strftime('%Y-%m-%d %H:%M:%S'))

# 2021-04-01 20:41:03

1.3、结构化的事件对象

obj = time.localtime()

print(obj.tm_year) # 2021 返回年

print(obj.tm_wday) # 3 # 一周的第几天

print(time.localtime()) # 北京时间为准 time.struct_time(tm_year=2021, tm_mon=4, tm_mday=1, tm_hour=20, tm_min=41, tm_sec=26, tm_wday=3, tm_yday=91, tm_isdst=0)

print(time.gmtime()) # 世界标准时间 time.struct_time(tm_year=2021, tm_mon=4, tm_mday=1, tm_hour=12, tm_min=41, tm_sec=26, tm_wday=3, tm_yday=91, tm_isdst=0)

1.4、时间之间的转换:

import time

# 时间分为三种格式(三种格式时化间是可以互相转换的)
# 1、时间戳  
print(time.time())
# 1609942223.1627667

# 2、格式化的字符串
print(time.strftime('%Y-%m-%H'))
# 2021-01-22

# 3、结构化的时间
res = time.localtime() # 东八区,中国时间
print(res)
# time.struct_time(tm_year=2021, tm_mon=1, tm_mday=6, tm_hour=22, tm_min=12, tm_sec=33,
#                           年      月     这个月的第几天    小时        分钟        秒
# tm_wday=2, tm_yday=6, tm_isdst=0)
# 0开始排星期  一年的第几天   冬令时

res2 = time.gmtime()  # 世界标准时间
print(res2)
# time.struct_time(tm_year=2021, tm_mon=1, tm_mday=6, tm_hour=14, tm_min=12, tm_sec=33,tm_wday=2, tm_yday=6, tm_isdst=0)

print(res.tm_year)  # 单独获取时间的某一部分 哪一年
print(res.tm_mday)  # 单独获取时间的某一部分 哪一天


# 三种格式化之间的互相转换
print(time.localtime(33331313))  # 时间戳转结构化的时间
print(time.gmtime(33331313))     # 时间戳转成世界标准时间

print(time.mktime(time.localtime())) # 结构化的时间转时间戳

res = time.strftime("%Y-%m",time.localtime()) # 结构化时间转格式化时间
print(res)

print(time.strptime("2017-11-11 11:11:11","%Y-%m-%d %H:%M:%S")) # 格式化时间转结构化时间


print(time.asctime())  # 以这种时间格式排列显示时间,常见于linux,unix操作系统
# 字符格式化

print(time.asctime())
# Thu Apr  1 21:17:57 2021

print(time.ctime())
# Thu Apr  1 21:17:57 2021

2、datetime模块

import datetime

print(datetime.datetime.now())  # 现在时间
# 2021-01-06 22:33:44.950552

print(datetime.datetime.now() + datetime.timedelta(days=3.5)) # 三天半后的时间
# 2021-01-10 10:33:44.950552

print(datetime.datetime.now() - datetime.timedelta(days=3.5)) # 三天半前的时间
# 2021-01-03 10:33:44.950552

# 特点:可以参与时间运算
start = datetime.datetime.now()

time.sleep(3)

end = datetime.datetime.now()

res = end-start

print(res)
# 0:00:03.002044

print(res.seconds)

# 3 获得时间差,单位为秒

res = datetime.datetime.now()
res1 = res + datetime.timedelta(minutes=3) # 3分钟后的时间,参数可以更改
print(res)
print(res1)
if res<res1:
    print('未来时间')
else:
    print('过去时间')
time和datetime:

import time
import datetime

now = time.time() # 获得时间戳
print(now)

jgou = time.localtime(now)  # 时间戳转结构化
print(jgou)

msg = time.strftime('%Y%m%d %H%M%S',jgou)  # 结构化转字符格式化
print(msg)

now1 = datetime.datetime.strptime(msg,'%Y%m%d %H%M%S')  # 字符格式化转datetime
print(now1)

jiegou =  now1.timetuple() # datetime转结构化
print(jiegou)

now_time = time.mktime(jiegou) # 结构化转时间戳
print(now_time)

posted @ 2021-04-02 19:13  此用户名不可用  阅读(88)  评论(0)    收藏  举报