将datetime.now()。date()与Python中的日期常量进行比较

时间:2015-09-29 18:48:13

标签: date datetime python-3.x

在Python 3中打印$("image").click(function() { $("slide-nav").animate({ '-webkit-transform':'translateX(242px)' ,'-moz-transform':'translateX(242px)',1000); }); 给出类似2015-09-29的内容。 但是,当我想将datetime.now().date()与此常量进行比较时,它不起作用。我尝试了以下代码片段

datetime.now().date()

这会导致语法错误:无效令牌

import datetime
if datetime.now().date() == 2015-09-29:
    print('Hello')

这不会导致错误,但是(在2015年9月29日运行此代码时),它不会打印 Hello

import datetime
if datetime.now().date() == '2015-09-29':
    print('Hello')

这会导致错误:描述符'date'需要'datetime.datetime'对象,但收到'int'。

有人可以帮我解决这个相当简单的问题吗?谢谢!

1 个答案:

答案 0 :(得分:6)

您的代码实际上给了我一个不同的错误:

>>> import datetime
>>> if datetime.now().date() == datetime.date(2015,9,29):
...     print("hello")
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'now'

now不是datetime模块的方法,它是datetime.datetime类的方法。是的,这令人困惑。

>>> import datetime
>>> if datetime.datetime.now().date() == datetime.date(2015,9,29):
...     print('Hello')
...
Hello

或者,我可以收到您所做的错误消息,但前提是我调整了import语句:

>>> from datetime import datetime
>>> if datetime.now().date() == datetime.date(2015,9,29):
...     print('Hello')
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

但是您不能以这种方式创建date对象,因为您只导入了datetime类。尝试导入两者。

>>> from datetime import datetime, date
>>> if datetime.now().date() == date(2015,9,29):
...     print('Hello')
...
Hello