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

2024-10-03 00:29:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现这相当困难,我不太确定使用哪种进口产品。无论哪种方式:

  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是否是工作日。但是我找不到检查日期的正确方法。你知道吗

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

有没有可以应用于上述内容的选项?你知道吗


Tags: andfromimportfalsetruetodaydatetimeif
1条回答
网友
1楼 · 发布于 2024-10-03 00:29:21

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

if(theDate.weekday() < 6):

如果它是字符串,则应首先使用strptime将其转换为日期时间:

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

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

相关问题 更多 >