time模块,补上之前拉下的作业。

time,时间模块比较重要,但不难学,主要是要学会转换时间格式。计算机的时间都是时间戳。人是看不懂的。写出时间转换的固定格式语句。import time   # 首先就是引入时间模块。

time.time()    # 取得当前时间的时间戳。时间戳就是从1970.1.1日零点开始,每秒钟加一,所有秒数加起来得到的一个数字。哦,python中时间有三种表现形式(真复杂)。1.时间戳是给机器看的(time.time())。2.格式化时间(strftime),根据我们的需要来格式化时间的显示。3.结构化时间(struct_time),可以把时间进行分类,如年,月,日等等。格式化时间固定语句如下:

s = time.strftime('%Y-%m-%d  %H:%M:%S')    #  这里的格式为:2019-02-24  23:18:43

print(s)

日期格式化标准(照抄老师教案,手动惭愧):

%y 两位数的年年份表示(00-99)
%Y 四位数的年年份表示(000-9999)
%m ⽉月份(01-12)
%d ⽉月内中的⼀一天(0-31)
%H 24⼩小时制⼩小时数(0-23)
%I 12⼩小时制⼩小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称

%b 本地简化的⽉月份名称
%B 本地完整的⽉月份名称
%c 本地相应的⽇日期表示和时间表示
%j 年年内的⼀一天(001-366)
%p 本地A.M.或P.M.的等价符
%U ⼀一年年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W ⼀一年年中的星期数(00-53)星期⼀一为星期的开始
%x 本地相应的⽇日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

打印结构化时间:

print(time.localtime())  # 打印结果为:time.struct_time(tm_year=2019, tm_mon=2, tm_mday=24, tm_hour=23, tm_min=29, tm_sec=31, tm_wday=6, tm_yday=55, tm_isdst=0)

给定一个时间,转换为格式化时间。

ti = time.localtime(1234567890)     #  在localtime的括号里可以给定一个时间戳数字。就可以把这个时间戳转换为格式化时间。

print(ti)   # 打印结果为:time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)

这样就可以很容易得取得格式化时间的各个部分了。

t = time.localtime(1234567890) # 结构化时间
s = time.strftime("%Y-%m-%d %H:%M:%S", t) # 格式化这个时间
print(s)    #  打印结果为:2009-02-14  07:31:30, 这是人能看懂的时间格式

实现反过来的功能(格式化时间转换成时间戳):

s = "2020-10-01 12:18:12"
t = time.strptime(s, "%Y-%m-%d %H:%M:%S")     #   转化成结构时间
print(time.mktime(t))       #   转换成时间戳

转来转去的关键就是locltime(),结构化时间是时间戳和格式化时间之间的桥梁。必须先转化为结构化时间,才能用strftime和strptime继续转化。

时间差的计算:

import time
true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d%H:%M:%S'))
time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d%H:%M:%S'))
dif_time=time_now-true_time
struct_time=time.localtime(dif_time)
print(struct_time)
print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))

原文地址:https://www.cnblogs.com/wjywinner/p/10428769.html