美文网首页
day-20 时间模块

day-20 时间模块

作者: 2ez4ddf | 来源:发表于2018-12-01 12:01 被阅读0次

    一.time模块

    time模块中主要提供了很多和时间相关的函数,和一个类:struct_time

    1. 时间戳——指定的时间到1970年01月01日00时00分00秒的时间差,单位是秒
      a.使用时间戳的场面
      a.1 节约时间存储成本
      1543545842.6658642 - 八字节
      '2018/11/30 10:51:34' - 20字节+18字
      a.2 方便对时间进行加密
    import time
    
    #1.获取当前时间(单位:秒)——以时间戳的形式返回
    result = time.time()
    print(result)#1543636903.2579217
    

    二.本地时间

    localtime()——获取当前本地时间(返回的是struct_time对象)
    localtime(时间戳)——将时间戳转换成struct_time对象

    result = time.localtime()
    print(result,result.tm_year,result.tm_mon)#time.struct_time(tm_year=2018, tm_mon=12, tm_mday=1, tm_hour=12, tm_min=1, tm_sec=43, tm_wday=5, tm_yday=335, tm_isdst=0) 2018 12
    """
    (tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)
    """
    
    result = time.localtime(0)
    print(result)#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
    

    三.格式时间

    a.strftime(时间格式,时间对象)——将时间对象转换成指定格式的时间字符串
    时间格式——字符串,字符串中带有相应的时间格式,用来获取指定的时间值
    时间对象——struct_time
    b.strptime(时间字符串,时间格式)——返回时间对象(将时间字符串中的时间提取出来)


    时间格式
    %Y Year with century as a decimal number.
    %m Month as a decimal number [01,12].
    %d Day of the month as a decimal number [01,31].
    %H Hour (24-hour clock) as a decimal number [00,23].
    %M Minute as a decimal number [00,59].
    %S Second as a decimal number [00,61].
    %z Time zone offset from UTC.
    %a Locale's abbreviated weekday name.
    %A Locale's full weekday name.
    %b Locale's abbreviated month name.
    %B Locale's full month name.
    %c Locale's appropriate date and time representation.
    %I Hour (12-hour clock) as a decimal number [01,12].
    %p Locale's equivalent of either AM or PM.

    time_str = time.strftime('%Y%m%d',time.localtime())
    print(time_str)#20181201
    
    time_obj = time.strptime('2018/11/20','%Y/%m/%d')
    print(time_obj)#time.struct_time(tm_year=2018, tm_mon=11, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=324, tm_isdst=-1)
    

    四.datetime模块

    from datetime import datetime,time,date,timedelta
    """
    datetime模块中主要包含三个类
    date(日期)——只能对年月日对应的时间进行表示和操作
    time(时间)——只能对时分秒对应的时间进行表示和操作
    datetime(日期和时间)——既能对年月日又能对时分秒进行表示和操作
    """
    date1 = date.today()
    print(date1,date1.year,date1.month,date1.day)#2018-12-01 2018 12 1
    
    time1 = datetime.now()
    print(time1,time1.year,time1.hour,time1.minute)#2018-12-01 12:17:23.179682 2018 12 17
    
    """
    date和datetime对象支持时间的加减操作:
    时间对象+timedelta对象
    时间对象-timedelta对象
    """
    print('现在',date1)#现在 2018-12-01
    print(date1+timedelta(days = 1))#2018-12-02
    print(date1+timedelta(hours =10))#2018-12-01
    
    #将字符串转换成datetime对象
    time2 = datetime.strptime('2018-12-12 00:00:00','%Y-%m-%d %H:%M:%S')
    print(time2+timedelta(seconds=50))#2018-12-12 00:00:50
    print(time2+timedelta(minutes=1))#2018-12-12 00:01:00
    
    
    
    

    相关文章

      网友评论

          本文标题:day-20 时间模块

          本文链接:https://www.haomeiwen.com/subject/czilcqtx.html