zoukankan      html  css  js  c++  java
  • Python第十一章-常用的核心模块04-datetime模块


    python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用.

    本章主要介绍 python 的一些内置常用核心模块

    Python 常用的核心模块

    四、datetime模块

    datetime模块是专门用来处理时间的标准库模块.

    模块名是datetime, 这个模块的内部定义多个类.


    datetime模块下有个类datatime既可以操作日期, 也可以操作时间. 主要研究这个类

    4.1获取当前日期和时间

    # 导入 datetime 模块下的类 datetime
    from datetime import datetime
    
    # 调用 datetime 的类方法 now 获取当前日期和时间, 返回的是一个 datetime 对象
    now = datetime.now()
    print(now)
    print(isinstance(now, datetime))
    


    4.2指定日期和时间

    使用类datetime创建对象, 可以传入指定的日期和时间

    from datetime import datetime
    # 年月日时分秒, 时分秒可选,默认都是0
    that_time = datetime(2028, 10, 11, 12, 11, 20)
    
    print(that_time)
    

    传递值的时候不能超出范围, 否则会抛异常.


    4.3 datetime的一些常用属性和方法

    4.3.1.类属性

    min: python 所能处理的最小日期和时间
    max: python 所能处理的最大日期和时间

    from datetime import datetime
    
    print(datetime.max)
    print(datetime.min)
    


    4.3.2.实例属性(只读)

    year, month, day, hour, minute, second, microsecond

    microsecond:是微秒

    from datetime import datetime
    
    now = datetime.now()
    
    msg = "现在是: %d 年 %d 月 %d 日 %d:%d:%d %d" 
          % (now.year, now.month, now.day,
             now.hour, now.minute, now.second,
             now.microsecond)
    
    print(msg)
    


    4.3.3.类方法

    now(), today() 2 个方法都是返回当前日期和时间


    4.3.4.实例方法

    weekday():返回是星期几(0-6)
    isoweekday():也是返回星期几(1-7)

    from datetime import datetime
    
    now = datetime.now()
    
    print(now.weekday())
    print(now.isoweekday())
    


    4.4datetime支持的 + - 比较操作

    datetime实例可以和一个timedelta对象进行 + -操作

    timedelta表示日期和时间的一个变化量

    from datetime import datetime, timedelta
    
    now = datetime.now()
    
    print(now)
    # 表示3天后的时间
    later = now + timedelta(days=3)
    print(later)
    
    # 表示3天前的时间
    pre = now - timedelta(days=3)
    print(pre)
    
    # 两个日期进行比较大小
    print(now > pre)
    print(now < later)
    


    4.5timestamp(时间戳)

    在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。

    注意:python 的这里是用 s 来表示的, 别的语言大部分是 ms.

    from datetime import datetime
    
    now = datetime.now()
    
    # 把日期和时间转成时间戳. 注意返回值是浮点数
    print(now.timestamp())
    
    # 把时间戳转换成 datetime
    
    that_dt = datetime.fromtimestamp(2849839789)
    print(that_dt)
    

  • 相关阅读:
    Codeforces 798C
    Codeforces 777E
    Codeforces 801C Voltage Keepsake(二分枚举+浮点(模板))
    【NOIP 2017】宝藏
    利普希茨
    【NOIP2008】双栈排序
    捕老鼠
    失格
    【JZOJ4307】喝喝喝
    Blocks
  • 原文地址:https://www.cnblogs.com/yanadoude/p/12632629.html
Copyright © 2011-2022 走看看