- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:这是怎么回事?
from datetime import timedelta, date
ONE_DAY = timedelta(days=1)
date = date(2015,12,12)
>>> date -= ONE_DAY
>>> date
date(2015,12,11)
>>> date += ONE_DAY
>>> date
date(2015,12,12)
>>> date **=+** ONE_DAY
>>> date
datetime.timedelta(1)
通常,我会在尝试使用 =+
时预计会出现错误,但我似乎正在分配 timedelta 对象。还有:
>>> TWO_DAYS = timedelta(days=2)
>>> TWO_DAYS
datetime.timedelta(2)
...
>>> date = date(2015,12,12)
Traceback (most recent call last):
File "(stdin)", line 1, in <module>
TypeError: 'datetime.timedelta' object is not callable
>>> date = False
>>> date
False
>>> date = date(2015,12,12)
Traceback (most recent call last):
File "(stdin)", line 1, in <module>
TypeError: 'bool' object is not callable
>>> dates = date(2015,12,12)
Traceback (most recent call last):
File "(stdin)", line 1, in <module>
TypeError: 'bool' object is not callable
>>> x = date(2015,12,12)
Traceback (most recent call last):
File "(stdin)", line 1, in <module>
TypeError: 'bool' object is not callable
显然我分配变量的能力也受到了某种损害?
最初我在前半部分遇到了错误,随着我深入挖掘,我意识到了帖子后半部分的内容。
如有任何帮助,我们将不胜感激。
最佳答案
=+
不是增强赋值语法。您有 =
和一个单独的 unary +
operator :
date = (+ONE_DAY)
您将 date
恢复到 ONE_DAY
(+
对该值没有任何作用)。
请注意,您首先将名称 date
绑定(bind)到 datetime.date()
实例,然后再绑定(bind)到 datetime.timedelta()
实例使用上面的 =+
语句。然后您不能仍然期望它绑定(bind)到 import
行中的 datetime.date
对象。 Python 不会将导入的名称与代码中的其他名称分开,导入绑定(bind)名称的方式与赋值的方式相同。
换句话说,分配根本没有受到影响。恰恰相反,因为赋值有效,您不能再将 date
名称视为绑定(bind)到 datetime.date
。
这很好用:
import datetime
date = datetime.date(2015, 12, 12)
因为那时您绑定(bind)了名称 datetime
,并且仍然可以从那里到达可调用的 datetime.date
。
关于python - += 与 =+ 在 timedelta 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34521215/
将标准 timedelta 字符串转换为 timedelta 对象的最简单方法是什么? 我已经打印了几个 timedelta 对象并得到了这些字符串: '1157 days, 9:46:39' '12
我正在尝试将一个 timedelta 对象与另一个对象相除以计算服务器正常运行时间: >>> import datetime >>> installation_date=datetime.dateti
这里我有一个包含日期、时间和一个输入的数据集。这里我想添加特定时间的 timedelta 并添加到日期时间列。 所以这里首先我将指定时间转换为 00:00:00,它将作为开始时间。从那时起,我想添加一
dta_h 是一个 DataFrame,dta_h.Datetime 看起来像这样: 0 2013-03-01 00:00:00 1 2013-02-28 23:00:00 2 20
我想知道 timedelta 有多少小时在白天和夜晚范围内。 时间开始: >>> dt_start = datetime.datetime(2012, 8, 19, 16, 0) 时间停止: >>>
我的 pandas 数据框中的一列表示我用 datetime 计算的时间增量,然后导出到 csv 并读回 pandas 数据框中。现在该列的 dtype 是对象,而我希望它是一个 timedelta,
这是我的代码: import datetime date = datetime.date(2015,10,1) today = datetime..today() oneday = datetime.
我正在尝试通过包含在同一数据框的另一列中的值来增加 pandas 数据框中的日期,如下所示 loans['est_close_date'] = loans['dealdate'] + loans['t
在我为现有数据库编写的 Web 应用程序中,我需要计算现在和存储在数据库中的时间戳之间的差异(在文本字段中,这很愚蠢,我知道)。这是我的 sqlalchemy Ban 类和相关方法。 class Ba
使用 Python 2.6 给定以下代码行,我如何从数据库中的变量动态构建 timedelta 的值? next_alert_date = datetime.strptime(start_due_da
下面是我正在处理的代码。据我所知,没有问题,但是当我尝试运行这段代码时,我收到了一个错误。 import os import datetime def parseOptions(): impo
例子假设对于一个给定的日期,当我们加上timedelta(days=180),并得到新的日期时,是否考虑闰年并计算新的日期?或者我们是否只计算当前日期的闰年,是否 Feb 有 28/29 天,并在 p
不确定如何处理这个问题。 用户提供一个参数,即 program.exe '2001-08-12' 我需要为该参数添加一天 - 这将代表程序另一部分的日期范围。我知道您可以从当天添加或减去,但如何从用户
我正在解决 Exercism.io 千兆秒问题: “计算某人活了 10^9 秒的时刻。” 我的方法是将 datetime 输入转换为时间戳,添加 10**9,然后转换回来。我的答案非常接近,但测试套件
我有一个大型数据库,正在加载到内存缓存中。我有一个过程可以每天迭代数据。 最近这个过程已经开始抛出以下错误: OverflowError: date value out of range对于线 sta
我有一个 时间值(value)存放在一个名为 newTime 的变量中. 当打印 newTime它给了我这样的结果 newTime = 0:07:00女巫很棒,因为我喜欢那样。 但是当保存 newTi
我有一些数据系列,这是一种 timedelta 数据类型。我想将这些 timedelta 绘制成条形图,其中 y 轴应仅以小时为单位而不是其他格式进行标记。以前,当我在 matplotlib 中尝试绘
菜鸟在这里, 我一直试图将军事时间的用户输入呈现为标准时间。代码到目前为止有效,但我需要从结束时间减去 12 小时才能在标准时间显示。我如何使用 datetime.time 做到这一点?另外,我是否需
我有一个 timedelta 数据框 JC time 1 3days 21:02:05 2 1days 23:50:07 3 6days 19:28:36 但我想要 1 93:02:05 2 47:5
我需要在表的一列中保存时间间隔。基于:http://docs.sqlalchemy.org/en/rel_0_8/core/types.html 我可以用 Interval键入。我的数据库是SQLit
我是一名优秀的程序员,十分优秀!