time、datetime

time模块

在time模块中,有三种方式:时间戳,字符串时间,结构化时间

  时间戳: 通常来说,时间戳表示的是自1970年1月1日00:00:00开始按秒计算的。我们运行“type(time.time())”,返回的是浮点数,float类型

    通过time.time()来获取时间戳  

  字符串时间: 格式化的时间字符串(Format String): ‘1999-12-06’    '%Y-%m-%d %H:%M:%S'(年-月-日 时:分:秒)

python中时间日期格式化符号:
%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 当前时区的名称
%% %号本身

结构化时间:元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

在这三种时间形式中有一个转化关系:

  时间戳转结构化时间:localtime,  是北京时间,和伦敦相差8个小时

            gmtime,  UTC时间,与英国伦敦当地时间一致

  print(time.gmtime(时间戳)),  不写默认使用当前的时间戳

  print(time.localtime(时间戳)),不写默认使用当前的时间戳

时间戳和字符串时间的相互转换:

  时间戳和字符串时间是不能直接进行相互转换的,需要经过结构化时间这个中间人

时间戳转字符串时间:

  1,print(time.localtime(时间戳))        转结构化时间

  2,time.strftime(time.localtime(时间戳))      结构化转字符串时间

字符串时间转时间戳:

  1,t = time.strptime('字符串时间','要转入的格式')  字符串时间转为结构化时间

  2,print(time.mktime(t))             结构化转时间戳

t = time.strptime('2008-08-08 08:08:08','%Y-%m-%d %H:%M:%S')
print(time.mktime(t))

 

datetime,Python中的一个标准库

  from datetime import datetime

在datetime中,

  获取当前时间:print(datetime.now()),

  时间类型转时间戳:  print(datetime.timestamp(datetime.now()))  或  print(datetime.now().timestamp())

  时间戳转时间类型:  print(datetime.fromtimestamp(time.time()))

  

  字符串转时间类型:  datetime.strptime('字符串时间','%Y-%m-%d %H:%M:%S')

  时间类型转字符串:  datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')

计算时间,可以通过timedelta来实现

  form datetime import datetime,timedelta

  print(datetime.now()) + timedelta(hours=   , days =  , weeks =   )

 

posted @ 2019-04-11 13:41  DF-包子  阅读(202)  评论(0)    收藏  举报