首页 > 解决方案 > 在 Python 中检查星期几

问题描述

我正在尝试编写代码来检查是星期天还是星期六。但我收到以下错误:

代码是:

import datetime
def isholiday(date):

    dat0 = date(2019, 3, 23)  # Saturday
    dat1 = date(2019, 3, 24)  # Sunday
    if abs(date - dat0) % 7 == 0 | abs(date - dat1)%7 == 0 :
        print ("is holiday")
    return True

在下一行我有:

assert(isholiday(datetime.datetime(2018, 10, 21))==True)

错误是:

     ------------------------------------------------------------------------ 
        ---
        TypeError                                 Traceback (most recent call 
        last)
        <ipython-input-22-87d6e5a340a0> in <module>()
        ----> 1 assert(isholiday(datetime.datetime(2018, 10, 21))==True)

        <ipython-input-21-bb556bebaa01> in isholiday(date)
              2 from datetime import date
              3 def isholiday(date):
        ----> 4     dat0 = date(2019,3,23)
              5     dat1 = date(2019,3,24)
              6     if abs(date - dat0)%7 == 0 | abs(date - dat1)%7 == 0 :

        TypeError: 'datetime.datetime' object is not callable

标签: pythondatetime

解决方案


我想你的意思是:

dat0 = datetime.datetime(2019,3,23) #Saturday

dat1 = datetime.datetime(2019,3,24)  #Sunday

目前,您在函数中使用“日期”参数,然后用括号和参数“调用”它。这仅在初始化时使用。


推荐阅读