python - 如何将增量添加到 python datetime.time?

标签 python datetime time timedelta

发件人:

http://docs.python.org/py3k/library/datetime.html#timedelta-objects

A timedelta object represents a duration, the difference between two dates or times.

那么为什么我会出错:

>>> from datetime import datetime, timedelta, time
>>> datetime.now() + timedelta(hours=12)
datetime.datetime(2012, 9, 17, 6, 24, 9, 635862)
>>> datetime.now().date() + timedelta(hours=12)
datetime.date(2012, 9, 16)

>>> datetime.now().time() + timedelta(hours=12)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'

最佳答案

datetime.time 对象 do not support additiondatetime.timedeltas.

虽然有一个自然定义,时钟算术。 你可以这样计算:

import datetime as dt
now = dt.datetime.now()
delta = dt.timedelta(hours = 12)
t = now.time()
print(t)
# 12:39:11.039864

print((dt.datetime.combine(dt.date(1,1,1),t) + delta).time())
# 00:39:11.039864

dt.datetime.combine(...) 将 datetime.time t 提升为 datetime.datetime 对象,增量为然后添加,并将结果返回到 datetime.time 对象。

关于python - 如何将增量添加到 python datetime.time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448592/

相关文章:

python - cx_Freeze python 单个文件?

python - 类型错误:字符串索引必须是整数,而不是 Pt[] 中的 str

Python 的 sleep() CPU 使用率

for-loop - Erlang 函数 for()?

linux - 以小时和分钟获取当前时间

python - 从文本文件中打印按整数排序的城市名称

ruby-on-rails - 如何将长日期转换为日期?

VB.Net 日期时间类 '#' 符号

MYSQL - 将日期从 2020 年更改为 2011 年

Java 时间循环 - 迭代