检查过去的日期是否是工作日



我发现这很困难,我不太确定要使用哪种导入。无论哪种方式:

  from datetime import datetime
  from datetime import timedelta
  from datetime import date 
  import holidays 
  def isTradingDay(theDate):
    isWeekday = False
    isBankHoliday = False
    # Select country 
    holidayDates = holidays.UnitedKingdom() 
    #Check WeekDay and Bank Holiday status
    if(datetime.today().weekday() < 6):
      isWeekday = True
    if(theDate in holidayDates):
      isBankHoliday = True

    #Return True if trading day
    if(isWeekday == False and isBankHoliday == False):
      return True
    else:
      return False

问题与datetime.today().weekday() < 6有关,我想使用此行来检查值theDate是否是工作日。但是我找不到检查Thedate的正确方法。

thedate格式为: (datetime.today() - timedelta(days = offset)).strftime('%d-%m-%Y')

是否有可以在上述中使用的选项?

如果theDatedatetime对象,则可以使用.weekday()函数:

if(theDate.weekday() < 6):

如果是字符串,则应首先使用Strptime:

将其转换为DateTime

dtime = datetime.strptime(theDate, '%Y-%m-%d')

'%Y-%m-%d'字符串取决于您的字符串格式theDate

最新更新