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

Python如何将datetime.date类型转换为YYYY-MM-DD格式字符串?

问题背景
  • 处理200万条时间戳索引数据时,需要提取首尾日期转为YYYY-MM-DD格式用于文件命名
  • 两种去重方案性能差异明显:
    • np.unique(df.index):仅需10秒即可返回结果,输出为datetime.date(2022, 6, 7)格式的日期对象,性能满足要求
    • df.index.strftime('%Y-%m-%d').unique():可直接得到目标格式字符串,但耗时超过5分钟,无法满足性能要求
  • 待解决问题:将datetime.date类型的日期对象快速转换为'2022-06-07'格式的字符串
实现方法

直接使用datetime.date对象自带的isoformat()方法即可,无需额外传入格式参数,执行效率比strftime更高,输出结果天然符合YYYY-MM-DD的补零规则。

单对象转换示例

import datetime
d = datetime.date(2022, 6, 7)
date_str = d.isoformat()
print(date_str) # 输出:2022-06-07

结合业务场景的完整代码

import numpy as np
# 高性能去重拿到所有日期对象
unique_dates = np.unique(df.index)
# 提取首尾日期转目标格式字符串
start_date = unique_dates[0].isoformat()
end_date = unique_dates[-1].isoformat()
# 拼接文件名
output_filename = f"时序数据_{start_date}_{end_date}.parquet"

注意:如果索引是带时分秒的datetime.datetime类型而非纯日期类型,可先调用.date()方法提取日期部分再转字符串,即unique_dates[0].date().isoformat(),避免输出结果带时分秒后缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:48:21