You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的datetime模块获取D-1日期读取对应日期命名的CSV文件

按指定日期格式获取前一天日期的实现方案

你给出的文件名日期格式为MM-DD-YYYY(月-日-年),核心实现逻辑如下:

  • 获取当前系统日期
  • 减去1天的时间偏移量
  • 按%m-%d-%Y的格式输出日期字符串
  • 拼接为对应CSV文件名即可按原有逻辑读取

Python 实现示例

直接使用内置datetime模块即可,会自动处理跨月、跨年的日期计算:

from datetime import datetime, timedelta

# 获取前一天日期
yesterday = datetime.now() - timedelta(days=1)
# 格式化为MM-DD-YYYY字符串
yesterday_str = yesterday.strftime("%m-%d-%Y")
# 拼接得到目标文件名
csv_filename = f"myfile-{yesterday_str}.csv"

如果你的实际文件名日期顺序是日-月-年,把strftime参数改为"%d-%m-%Y"即可。


Shell 脚本实现示例

GNU Date(大部分Linux发行版默认)

yesterday_str=$(date -d "-1 day" +"%m-%d-%Y")
csv_filename="myfile-${yesterday_str}.csv"

BSD Date(macOS默认)

yesterday_str=$(date -v-1d +"%m-%d-%Y")
csv_filename="myfile-${yesterday_str}.csv"

JavaScript(Node.js环境)实现示例

const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
// 补零格式化日期
const year = yesterday.getFullYear();
const month = String(yesterday.getMonth() + 1).padStart(2, '0');
const day = String(yesterday.getDate()).padStart(2, '0');
const yesterdayStr = `${month}-${day}-${year}`;
const csvFilename = `myfile-${yesterdayStr}.csv`;

补充说明

如果业务需要排除周末、法定节假日,额外增加工作日校验逻辑,过滤非工作日的日期即可。

内容的提问来源于stack exchange,提问作者Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:36:03