如何在python中初始化time()对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python中初始化time()对象相关的知识,希望对你有一定的参考价值。

我正在尝试初始化这样的时间对象:

t = datetime.time(0,0,0)

但我收到这个错误:

descriptor 'time' requires a 'datetime.datetime' object but received a 'int'

我有这些东西进口了

import datetime
from datetime import datetime, date, time
import time

它们似乎有点多余,所以我想知道这是否是导致问题的原因

我也在使用strptime方法和combine方法

    earliest = datetime.combine(earliest, t)
    value = datetime.strptime(value, format)
答案

您可以创建没有任何值的对象:

>>> import datetime
>>> datetime.time()
datetime.time(0, 0)

但是,您从模块导入了类datetime,替换了模块本身:

>>> from datetime import datetime
>>> datetime.time
<method 'time' of 'datetime.datetime' objects>

这有不同的签名:

>>> datetime.time()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: descriptor 'time' of 'datetime.datetime' object needs an argument
>>> datetime.time(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: descriptor 'time' requires a 'datetime.datetime' object but received a 'int'

导入整个模块,或导入包含的类,但不要混合和匹配。依照:

import datetime
import time

如果你需要两个模块。

另一答案

时间的构造函数是:

class datetime.time(hour[, minute[, second[, microsecond[, tzinfo]]]])

(来自http://docs.python.org/library/datetime.html#time-objects

这对我有用:

In [1]: import datetime

In [2]: t = datetime.time(0, 0, 0)

In [3]: print t
00:00:00
另一答案

这是事实,你是从import datetimeing一个冲突的datetime。你可能意味着time,除了你也是importing一个有冲突的time。那怎么样:

import datetime as dt

t = dt.time(0, 0, 0)

以上是关于如何在python中初始化time()对象的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:python3,代码片段(2017)

如何在 python 中并行化以下代码片段?

python+spark程序代码片段

如何在使用cardview的片段中初始化gridlayoutmanager?

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

如何理解python装饰器