zoukankan      html  css  js  c++  java
  • time模块简介

    Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。

    Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。

    时间间隔是以秒为单位的浮点小数。

    每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

    Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:

    >>> import time
    >>> abc = time.time()
    >>> print(abc)
    1493022620.5256848
    时间戳

    时间元组:

    很多Python函数用一个元组装起来的9组数字处理时间:

    序号字段
    0 4位数年 2008
    1 1 到 12
    2 1到31
    3 小时 0到23
    4 分钟 0到59
    5 0到61 (60或61 是闰秒)
    6 一周的第几日 0到6 (0是周一)
    7 一年的第几日 1到366 (儒略历)
    8 夏令时 -1, 0, 1, -1是决定是否为夏令时的旗帜

    上述也就是struct_time元组。这种结构具有如下属性:

    序号属性
    0 tm_year 2008
    1 tm_mon 1 到 12
    2 tm_mday 1 到 31
    3 tm_hour 0 到 23
    4 tm_min 0 到 59
    5 tm_sec 0 到 61 (60或61 是闰秒)
    6 tm_wday 0到6 (0是周一)
    7 tm_yday 1 到 366(儒略历)
    8 tm_isdst -1, 0, 1, -1是决定是否为夏令时的旗帜

    获取当前时间

    从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。

    >>> import time
    >>> localtime = time.localtime(time.time())
    >>> localtime
    time.struct_time(tm_year=2017, tm_mon=4, tm_mday=24, tm_hour=16, tm_min=39, tm_sec=16, tm_wday=0, tm_yday=114, tm_isdst=0)
    获取本地时间

    格式化日期

    我们可以使用 time 模块的 strftime 方法来格式化日期,:

    time.strftime(format[, t])

    import time
    
    print(time.strftime('%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 当前时区的名称
    • %% %号本身
      import time
      
      
      # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
      # print(time.altzone)  #返回与utc时间的时间差,以秒计算
      # print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",
     # print(time.localtime()) #返回本地时间 的struct time对象格式
     # print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式
     
     # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",
     #print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上
     
     
     
     # 日期字符串 转成  时间戳
     # string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式
     # print(string_2_struct)
     # #
     # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳
     # print(struct_2_stamp)
     
     
     
     #将时间戳转为字符串格式
     # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
     # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式
     
     
      
     
     #时间加减
     import datetime
     
     # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
     #print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19
     # print(datetime.datetime.now() )
     # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
     # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
     # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
     # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
     
     
     #
     # c_time  = datetime.datetime.now()
     # print(c_time.replace(minute=3,hour=2)) #时间替换
  • 相关阅读:
    Note/Solution 转置原理 & 多点求值
    Note/Solution 「洛谷 P5158」「模板」多项式快速插值
    Solution 「CTS 2019」「洛谷 P5404」氪金手游
    Solution 「CEOI 2017」「洛谷 P4654」Mousetrap
    Solution Set Border Theory
    Solution Set Stirling 数相关杂题
    Solution 「CEOI 2006」「洛谷 P5974」ANTENNA
    Solution 「ZJOI 2013」「洛谷 P3337」防守战线
    Solution 「CF 923E」Perpetual Subtraction
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/liyongbin/p/6757651.html
Copyright © 2011-2022 走看看