代码之家  ›  专栏  ›  技术社区  ›  CL1

日期时间。日期时间。timedelta—所有置换的错误

  •  0
  • CL1  · 技术社区  · 7 年前

    Python版本2.7.12

    import os, sys, re, datetime
    from datetime import datetime 
    

    #注意:注释掉“from datetime import datetime”并不会改变生成的错误,所以我认为有些东西是从某处导入的。

    dt = dt - datetime.timedelta(hours=24.5) # decrement date a day or two
    

    出现错误“type object‘datetime.datetime’没有属性‘timedelta’”

    dt = dt - datetime.datetime.timedelta(hours=24.5) # ; also error:
    

    出现错误“type object‘datetime.datetime’没有属性‘datetime’”

    dt = dt - timedelta(hours=24.5) # ; also error:
    

    出现错误“未定义全局名称‘timedelta’”

    1 回复  |  直到 7 年前
        1
  •  4
  •   SpoonMeiser    7 年前

    你这么说 from datetime import datetime

    timedelta datetime 单元然而,因为你已经做到了 从datetime导入datetime ,名称 日期时间 在您的命名空间中,引用 类,而不是模块,并且不能用于直接获取 时间增量

    参考模块,您应该能够访问它作为 datetime.timedelta

    >>> import datetime
    >>> dt = datetime.datetime.now()
    >>> dt
    datetime.datetime(2017, 8, 24, 15, 10, 34, 942209)
    >>> dt = dt - datetime.timedelta(hours=24.5)
    >>> dt
    datetime.datetime(2017, 8, 23, 14, 40, 34, 942209)
    

    请在此处尝试: https://repl.it/KYDN/0

    >>> from datetime import datetime, timedelta
    >>> dt = datetime.now()
    >>> dt
    datetime.datetime(2017, 8, 24, 15, 14, 46, 340878)
    >>> dt = dt - timedelta(hours=24.5)
    >>> dt
    datetime.datetime(2017, 8, 23, 14, 44, 46, 340878)