美文网首页
time和datetime模块

time和datetime模块

作者: 狗狗胖妞 | 来源:发表于2017-03-24 22:46 被阅读29次

    一、time模块

    time模块中时间表现的格式主要有三种:
      a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
      b、struct_time时间元组,共有九个元素组。
      c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
    时间格式转换图:


    import time,datetime
    time.localtime()    # 返回本地时间 的struct time对象格式
    time.gmtime()      # 返回utc 的struct time对象格式
    #不写参数表示返回当前的struct time对象,输入一个时间戳参数:time.localtime(string_2_stamp)  时间戳--> 时间对象
    
    time.asctime(time.localtime())  #接收struct time对象参数
    time.ctime()
    #返回"Fri Aug 19 11:14:16 2016"时间格式
    
    #日期字符串--> 时间戳
    s="2017/3/24 20:47"
    string_2_struct=time.strptime(s,"%Y/%m/%d %H:%M") #日期字符串--> 时间对象
    print(string_2_struct)
    string_2_stamp=time.mktime(string_2_struct) #时间对象--> 时间戳
    print(string_2_stamp)
    
    #时间戳--> 字符串
    t1=time.localtime(string_2_stamp)  #时间戳--> 时间对象
    t1_2_string=time.strftime("%Y_%m_%d_%H_%M",t1) #时间对象--> 字符串
    print(t1_2_string)
    

    二、datetime模块

    datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。

    时间加减

    datetime.datetime.now()   #返回当前本地时间的datetime对象
    datetime.fromtimestamp(time_stamp)  #时间戳转化成datetime对象
    print(datetime.datetime.now()+datetime.timedelta(days=3))        #当前时间+3天
    print(datetime.datetime.now()+datetime.timedelta(-3))                 #当前时间-3天
    print(datetime.datetime.now()+datetime.timedelta(minutes=30))   #当前时间+30分钟
    

    时间表现类型转换(和time模块一样)

    datetime.datetime.fromtimestamp(time.time())   #时间戳 -->  datetime对象
    datetime.datetime.timestamp(datetime_struct)   #datetime对象--> 时间戳
    
    #字符串 --> 时间戳
    s="2017/4/1 19:03:22"
    string_2_struct=datetime.datetime.strptime(s,"%Y/%m/%d %H:%M:%S")  #日期字符串--> datetime对象
    stamp=datetime.datetime.timestamp(string_2_struct)
    print(stamp)
    
    #时间戳--> 字符串
    t=datetime.datetime.fromtimestamp(stamp)
    t_2_string=stamp=datetime.datetime.strftime(t,"%Y_%m_%d_%H_%M_%S")  #datetime对象--> 日期字符串
    print(t_2_string)
    

    时间替换

    c_time=datetime.datetime.now()
    print(c_time)
    print(c_time.replace(hour=2,minute=3))
    

    相关文章

      网友评论

          本文标题:time和datetime模块

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