time模块

在python中,时间一共有三种形式:

  1.时间戳  给机器看的     时间戳是以浮点数的形式显示,以1970-01-01 00:00:00为原点,慢慢往后加数形成的

  2.格式化时间   给人看的

  3.结构化时间  用来计算的

import time
print(time.time())  # 1553992174.0139978  时间戳,有时候数据库中存的就是时间戳
#时间戳是以1970-01-01 00:00:00为原点 每一秒一个数字形成的   类似于数轴

#格式化时间  给人看的
print(time.strftime("%Y-%m-%d %H:%M:%S"))
#%Y-%m-%d %H:%M:%S  显示时间的格式

#结构化时间  用来计算的xx
print(time.localtime())

格式化时间是,我们可以采取不从的格式让时间显示不同的样式,下边是日期格式化的标准,我们可以根据这些标准来自定义我们的格式化时间

"""日期格式化的标准:
%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 当前时区的名称
%%  %号本身
"""

 

 

另外,我们再往数据库中存入的是时间戳,可是我们从数据库中拿出来看到的想要是时间,那要求我们会格式化时间与时间戳的相互转化

1.时间戳转化为格式化时间

f = 11212156.323
st = time.localtime(f)  #把时间戳转化为结构化时间
t = time.strftime("%Y-%m-%d %H:%M:%S",st)  
#把结构化时间转化为格式化时间        
print(t)

运行结果:

1970-05-11 02:29:16

2.格式化时间转化为时间戳

import time
t = "1970-05-11 02:29:16"
st = time.strptime(t,"%Y-%m-%d %H:%M:%S")  #把格式化时间转化为结构化时间
f = time.mktime(st)   #把结构化世间转化为时间戳
print(f)

运行结果:

11212156.0

我们发现,不管是要将格式化时间转化为时间戳,还是要将时间戳转化为格式化时间,一定要经过转化为结构化时间这一步,我们可以这样理解,结构化时间是格式化时间与时间戳之间相互转化的桥梁

 

posted @ 2019-03-31 10:40  杨鸿儒  阅读(105)  评论(0编辑  收藏  举报