美文网首页
day20-时间模块

day20-时间模块

作者: barriers | 来源:发表于2018-11-30 17:24 被阅读0次

    1 time模块

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

    1.1时间戳

    时间戳 - 指定时间到1970年1月1日0时0分0秒的时间差,单位是秒
    时间戳的应用场景
    1 节约时间存储成本
    2 方便对时间进行加密

    1.2.获取当前时间(单位:秒) - 以时间戳的形式返回

    result=time.time()

    ====导入时间模块===
    import time
    # 1.获取当前时间(单位:秒) - 以时间戳的形式返回
    result=time.time()
    print(result) # 1543551189.6481013
    

    1.3本地时间

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

    result=time.localtime()
    print(result) # time.struct_time(tm_year=2018, tm_mon=11.....
    print('%s-%s-%s'%(result.tm_year,result.tm_mon,result.tm_mday)) # 2018-11-30
    
    result=time.localtime(0)
    print(result) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1...
    print('%s-%s-%s'%(result.tm_year,result.tm_mon,result.tm_mday)) # 1970-1-1
    

    1.4格式时间

    time.strftime(时间格式,时间对象) - 将时间对象转换成指定格式的时间字符串
    时间格式 - 字符串,字符串中带有相应的时间格式,用来获取指定的时间值
    %Y - 年
    %m - 月
    %d - 日
    %H - 时
    %M - 分
    %S - 秒
    %a - 星期英文单词的缩写
    %A - 星期的英文单词
    %b - 月份英文单词的缩写
    %B - 月份的英文单词
    时间对象 - struct_time

    1.5提取时间

    strptime(字符串,时间格式) - 返回时间对象(将时间字符串中的时间提取出来)

    time_str=time.strftime('%Y-%m-%d %H:%M:%S:%A %b',time.localtime())
    print(time_str) # 2018-11-30 12:13:09:Friday Nov
    
    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...
    

    2datetime模块

    from datetime import datetime,time,date,timedelta # 这儿的time是time类,上面的是time模块,二者不一样

    datetime模块中主要包含三个类 (返回的都是对象)
    date(日期) - 只能对年月日对应的数据进行表示和操作
    time(时间) - 只能对时分秒对应的时间进行表示和操作
    datetime(日期和时间) - 既能对年月日又能对时分秒进行表示和操作

    date1=date.today()
    print(date1.year,date1.month,date1.day)# 2018 11 30
    
    time1=datetime.now()
    print(time1) # 2018-11-30 12:13:09.661091
    print(time1.year,time1.month,time1.day) # 单独获取年月日 2018 11 30
    

    date和datetime对象支持时间的加减操作
    时间对象+timedelta对象
    时间对象-timedelta对象

    date1=date.today()
    time1=datetime.now()
    print('现在:',date1) # 现在: 2018-11-30
    print(date1+timedelta(days=1)) # 2018-12-01
    print(time1+timedelta(hours=20)) # 2018-12-01 08:13:09.66109
    

    2.1将字符串转换成datetime对象

    time2=datetime.strptime('2018-12-12 23:59:10','%Y-%m-%d %H:%M:%S')
    print(time2+timedelta(seconds=50)) # 2018-12-13 00:00:00
    print(time2-timedelta(seconds=1)) # 2018-12-12 23:59:09

    相关文章

      网友评论

          本文标题:day20-时间模块

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