时间模块

time模块

  • 查看一下time模块的用法

    >>> import time
    >>> dir(time)
    ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', 
    '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info',
    'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep',
    'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']

     

  • 介绍常用的方法

    • time.time() # 时间戳

      >>> time.time()
      1543762554.8899534  # 1970元年到现在的描述
    • 结构化时间

      # time.localtime()  本地时间,东八区
      >>> time.localtime()
      time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=23, tm_min=3, tm_sec=57, tm_wday=6, tm_yday=336, tm_isdst=0)
      ​
      # time.gmtime()    世界标准时间
      >>> time.gmtime()
      time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=4, tm_sec=22, tm_wday=6, tm_yday=336, tm_isdst=0)
    • 格式化时间

      # time.strftime()
      >>> time.strftime('%Y-%m-%d')
      '2018-12-02'
    • time.sleep() 睡眠

  • 其中计算机认识的时间只能是'时间戳'格式,而程序员可处理的或者说人类能看懂的时间有: '格式化的时间字符串','结构化的时间' ,于是有了下图的转换关系

     

    • 了解了三种时间格式之后,可以在格式之间进行格式转换

      # 结构化时间转换为时间戳时间
      >>> time.mktime(time.localtime())
      1543763813.0# 将时间戳转换为结构化时间
      >>> time.localtime(12312312)
      time.struct_time(tm_year=1970, tm_mon=5, tm_mday=23, tm_hour=20, tm_min=5, tm_sec=12, tm_wday=5, tm_yday=143, tm_isdst=0)
      >>> time.localtime()    # 不加参数,则以当前时间为准
      time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=23, tm_min=19, tm_sec=31, tm_wday=6, tm_yday=336, tm_isdst=0)
      ​
      # 将结构化时间赚转为格式化时间
      >>> time.strftime('%Y-%m-%d',time.localtime(123123))
      '1970-01-02'# 将格式化时间转换为结构化时间
      >>> time.strptime('2000:01-10','%Y:%m-%d')  # 分隔符要保持一样
      time.struct_time(tm_year=2000, tm_mon=1, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=10, tm_isdst=-1)
    • 将时间戳或者结构化时间转为这种格式“Sun Jun 20 23:21:05 1993

      # 将结构化时间转换
      >>> time.asctime()  # 默认为当前时间
      'Sun Dec  2 23:36:06 2018'
      >>> time.asctime(time.localtime(123123))
      'Fri Jan  2 18:12:03 1970'# 将时间戳转换
      >>> time.ctime()    # 默认为当前时间
      'Sun Dec  2 23:36:52 2018'
      >>> time.ctime(123123123)
      'Mon Nov 26 08:52:03 1973'

datatime模块

  • 查看datetime方法

    >>> import datetime
    >>> dir(datetime)
    ['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', 
    '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime',
    'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']
  • 介绍常用方法

    # 返回当前时间
    >>> print(datetime.datetime.now())
    2018-12-03 00:01:59.178264
    >>> import time 
    >>> print(datetime.date.fromtimestamp(time.time())) # 将时间戳转换为格式化时间
    2018-12-03# 时间的加减
    >>> print(datetime.datetime.now() + datetime.timedelta(3))  # 未来三天时间
    2018-12-06 00:05:12.874300
            
    # 过去三天时间      
    >>> print(datetime.datetime.now() - datetime.timedelta(3))  
    2018-11-30 00:05:34.362606     
    >>> print(datetime.datetime.now() + datetime.timedelta(-3))
    2018-11-30 00:05:54.313856 
            
    # 过去三小时
    >>> print(datetime.datetime.now() - datetime.timedelta(hours=3))
    2018-12-02 21:06:45.818389
            
    # 过去三分钟
    >>> print(datetime.datetime.now() - datetime.timedelta(minutes=3))
    2018-12-03 00:04:21.914132
posted @ 2018-12-10 15:00  浩小白  Views(80)  Comments(0Edit  收藏  举报