开发中遇到关于日期(节假日)的问题。具体情况:业务每天都会在系统中下载10张表,下载规则是今天下昨天的数据,意思就是下载时的查询条件日期那一栏应该写昨天的日期,但是有一个小问题,遇到周末就不能下昨天的数据了,会造成数据不准确,而是要下载上周六的数据,还有遇到节假日也是一样的,要从节假日开始那一天下载。栗子:今天是10月8号,那么今天就应该下载10月1号的数据。大概就是这么个意思。代码实现:首先,需要维护一个节假日表(或者节假日参数),这里我是先获取到昨天的日期,然后在进行判断。具体如下:
import pandas as pd
import datetime
import time
path = r"C:\Users\Desktop\holidays.xlsx"
def read_date(path):
    # 读取日期列
    data = pd.DataFrame(pd.read_excel(path))
    raw_date = []
    for i in data[‘日期‘]:
        raw_date.append(i)
    return raw_date
def get_date(path):
    ‘‘‘
    获取节假日的起始日期
    :param path: 节假日表
    :return: 节假日开始日期
    ‘‘‘
    # 昨天的日期
    # yesterday = (datetime.datetime.now() + datetime.timedelta(days=-1)).strftime(‘%Y/%m/%d‘)
    yesterday = ‘2019/10/07‘
    while True:
        timer = datetime.date.fromtimestamp(time.mktime(time.strptime(yesterday, ‘%Y/%m/%d‘)))
        # 获取日期列表
        date_list = read_date(path)
        if yesterday in date_list:
            # 日期减一天
            yesterday = (timer + datetime.timedelta(days=-1)).strftime(‘%Y/%m/%d‘)
        else:
            # 日期加一天
            yesterday = (timer + datetime.timedelta(days=1)).strftime(‘%Y/%m/%d‘)
            break
    print(yesterday)
get_date(path)
注:我的日期表格式如下

原文:https://www.cnblogs.com/rongge95500/p/12107108.html