美文网首页
[ python 工具书 ] python 中 datetime

[ python 工具书 ] python 中 datetime

作者: Twins_YSQ | 来源:发表于2019-11-21 16:14 被阅读0次

    实践检验真知

    以下代码直接复制到文件运行

    1. time 模块详解

    import time
    """
    time模块
    入口:
    localtime  的入口是秒时间戳或当前时间
    strptime   的入口是时间字符串
    
    备注:
    有时间戳或者时间字符串才有全部
    
    """
    print('\n------------获取当前秒时间戳------------')
    print(time.time())
    
    print('\n------------获取秒时间戳对应的时间对象(时间元组) 没有传就默认是当前时间戳  ------------')
    print(time.localtime())
    print(time.localtime(time.time()))
    
    print('\n------------获取时间对象转时间戳------------')
    print(time.mktime(time.localtime()))
    
    print('\n------------ asctime 格式化时间对象------------')
    print(time.asctime(time.localtime()))
    
    print('\n------------ strftime 格式化时间对象------------')
    print(time.strftime(
        """
        两位年份( %%y ): %y 
        四位年份( %%Y ): %Y
        几月  ( %%m ) : %m    从1开始
        月份名( %%b ) : %b     简化
        月份名( %%B ) : %B     全称
        几号  ( %%d ) : %d
        几时  ( %%H ) : %H    24小时制
        几时  ( %%l ) : %l    12小时制
        分钟数( %%M ) : %M
        秒数  ( %%S ) : %S
        周几  ( %%a ) : %a     简化
        周几  ( %%A ) : %A     全称
        asctime( %%c ) : %c     和time.asctime()方法格式化一致
        上午下午( %%p ) : %p
        今天今年天数( %%j ) : %j
        今天今年周数( %%U ) : %U    周日为一周的开始
        今天今年周数( %%W ) : %U    周一为一周的开始
        今天今月周数( %%w ) : %w    周日为一周的开始
        时区  ( %%Z ) : %Z
        当地格式日期表示( %%X ) : %X
        当地格式时间表示( %%x ) : %x 
        """,
        time.localtime()))
    
    print('\n------------ strftime 格式化时间字符串------------')
    print(time.strptime('2019/11/21 03:24:21', '%Y/%m/%d %H:%M:%S'))
    
    print('\n------------ 线程休眠 ------------')
    time.sleep(1)
    print('休眠完')
    
    """
    总结:
    该模块使用于获取时间,生成时间,格式化时间功能
    """
    
    

    2. datetime 模块详解

    from datetime import datetime, date as dtdate, time as dttime, timedelta
    """
    datatime模块
    入口:
    datetime.datetime()     通过数字年月日时分秒获取 datetime 对象
    datetime.now()             获取当前时间的 datetime 对象
    备注:
    datatime 对象可以和 timedelta 对象 直接加减
    datatime 对象相减可得 timedelta 对象
    
    """
    print('\n------------ 获取当前时间对象 ------------')
    now = datetime.now()
    print(now)
    
    print('\n------------ 获取时间对象时间戳 ------------')
    print(now.timetuple())
    
    print('\n------------ 获取指定时间对象 ------------')
    dt1 = datetime(2019, 10, 21, 3, 41, 34)
    dt2 = dtdate(2019, 10, 21)
    dt3 = dttime(3, 41, 34)
    print(dt1)
    
    
    print('\n------------ 计算时间相差 返回 timedelta 对象 ------------')
    td1 = dt1-now
    print(td1)
    print(td1.days)
    print(dir(timedelta))    # timedelta的所有属性
    
    
    print('\n------------ 通过时间相差 得到目标时间 ------------')
    print(now + timedelta(days=100))  # 100天后是?
    
    
    print('\n------------ 通过修改 得到目标时间 ------------')
    print(now.replace(day=10, minute=30, hour=10))
    
    print('\n------------ strptime 字符串格式化为dateTime ------------')
    print(datetime.strptime('Thu Nov 21 15:55:54 2019', '%c'))
    
    print('\n------------ strftime dateTime格式化为字符串 ------------')
    print(datetime.strftime(now, '%c'))
    
    """
    总结:
    该模块是时间操作模块, 适用于计算时间, 操作时间等
    """
    

    3.datetime对象和time对象之间的相互转换

    """
    转化
    datetime -> 时间戳 -> time
    datetime -> 字符串 -> time
    time -> 字符串 -> datetime
    
    """
    print('\n------------ datetime转秒时间戳 ------------')
    print(time.localtime(time.mktime(datetime.now().timetuple())))
    
    print('\n------------ datetime -> 字符串 -> time ------------')
    print(time.strptime(datetime.strftime(datetime.now(), '%c'), '%c'))
    
    print('\n------------ time -> 字符串 -> datetime ------------')
    print(datetime.strptime(time.strftime('%c', time.localtime()), '%c'))
    

    如果觉得还行, 留个言吧

    如果觉得不行, 吐个槽吧

    相关文章

      网友评论

          本文标题:[ python 工具书 ] python 中 datetime

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