zoukankan      html  css  js  c++  java
  • python标准库(datetime)

    1、datetime模块
      对日期、时间、时间戳的处理
      1> datetime类
        类方法:没有时间对象使用类的方法构造时间对象
          today()    返回本地时区当前时间的datetime对象
          now(tz=None)    返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和 today() 一样
          utcnow()    没有时区的当前时间
          fromtimestamp(timestamp, tz=None)    从一个时间戳返回一个datetime对象

        datetime对象:有时间对象调用时间戳返回时间戳
          timestamp()    返回一个到微秒的时间戳
          时间戳:格林威治时间1970年1月1日0点到现在的秒数

    import datetime
    print(type(datetime.datetime))    #
    
    执行结果:
    <class 'type'>
    import datetime
    print(datetime.datetime.now())       #类的方法,返回一个当前时区时间的对象
    print(datetime.datetime.today())     #中国:东八区,和没有时区的时间差8个小时
    print(datetime.datetime.utcnow())    #没有时区的时间
    
    执行结果:
    2020-04-08 18:15:34.319195
    2020-04-08 18:15:34.319196
    2020-04-08 10:15:34.319195
    import datetime
    d1 = datetime.datetime.now()
    print(d1)
    print(d1.timestamp())    #返回一个到微妙的时间戳
    print(datetime.datetime.fromtimestamp(1586341355))    #从一个时间戳返回datetime对象
    
    执行结果:
    2020-04-08 18:22:52.348085
    1586341372.348085
    2020-04-08 18:22:35

      2> datetime对象
        构造方法datetime.datetime(2016, 12, 6, 16, 29, 43, 79043)
        year、month、day、hour、minute、second、microsecond,取datetime对象的年月日时分秒及微秒
        weekday()    返回星期的天,周一0,周日6
        isoweekday()    返回星期的天,周一1,周日7
        date()    返回日期date对象
        time()    返回时间time对象
        replace()    修改并返回新的时间
        isocalendar()    返回一个三元组(年,周数,周的天)

    import datetime
    d = datetime.datetime(2020,1,1,12,12,12)
    print(d)
    print(d.year,d.month)
    print(d.weekday())       #返回星期:0-6
    print(d.isoweekday())    #返回星期:1-7
    print(d.date())          #2020-01-01
    print(d.time())          #12:12:12
    print(d.replace(2017))   #返回全新的时间对象
    print(d.isocalendar())   #返回一个三元组(年,周数,周的天)
    
    执行结果:
    2020-01-01 12:12:12
    2020 1
    2
    3
    2020-01-01
    12:12:12
    2017-01-01 12:12:12
    (2020, 1, 3)
    import datetime
    d = datetime.datetime(2019,12,12,12,12,12)
    print(d)
    d1 = d.replace(d.year-10,5,5)
    print(d1)
    d2 = datetime.datetime(d1.year,d1.month,d1.day)
    print(d2)
    
    执行结果:
    2019-12-12 12:12:12
    2009-05-05 12:12:12
    2009-05-05 00:00:00

    2、日期格式化
      类方法strptime(date_string, format),返回datetime对象
      对象方法strftime(format),返回字符串
      字符串format函数格式化

    import datetime
    d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")    #字符串 ——> 时间对象
    print(d)
    d1 = datetime.datetime(2020,2,2,5,5,5)
    d2 = d1.strftime("%Y-%m-%d %H:%M:%S")    #时间对象 ——> 字符串
    print(d2)
    
    执行结果:
    2020-01-01 12:12:12
    2020-02-02 05:05:05
    2020-02-02 05:05:05
    import datetime
    d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")
    print("{0:%Y}/{0:%m}/{0:%d} {0:%H}:{0:%M}:{0:%S}".format(d))
    print('{:%Y-%m-%d %H:%M:%S}'.format(d))
    
    执行结果:
    2020/01/01 12:12:12
    2020-01-01 12:12:12

    3、timedelta对象
      datetime2 = datetime1 + timedelta
      datetime2 = datetime1 - timedelta
      timedelta = datetime1 - datetime2
      构造方法:
        datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
        year = datetime.timedelta(days=365)
      total_seconds()返回时间差的总秒数

    import datetime
    d = datetime.datetime(2020,1,1,1,1,1)
    d1 = d + datetime.timedelta(days=10)
    print(d1)
    print(datetime.timedelta(days=365).total_seconds())
    
    执行结果:
    2020-01-11 01:01:01
    31536000.0

    4、标准库time
      time
        time.sleep(secs)将调用线程挂起指定的秒数

    import time
    time.sleep(5)    #挂起线程5秒,之后print('_____')
    print('_____')
  • 相关阅读:
    【More Effective C++】Item 4
    【More Effective C++】Item 3
    【More Effective C++】Item 2
    【More Effective C++】Item 1
    ”win7笔记本共享无线网络,手机连接成功却无法上网“的解决之道【亲身经历】
    【RFID防碰撞协议/算法】动态二进制搜索算法
    【RFID防碰撞协议/算法】二进制搜索防碰撞算法
    总结ASP标准控件
    总结ASP控件属性
    ..........
  • 原文地址:https://www.cnblogs.com/zyybky/p/12661895.html
Copyright © 2011-2022 走看看