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

Python Datetime的%d部分解析异常问题求助

问题解决思路

错误原因

你用错了datetime.datetime()的用法:这个函数是用来构造日期时间对象的,需要传入年、月、日等整数参数,而你直接把字符串和格式符传进去,它会把第一个字符串参数当成年份整数来解析,自然就抛出'str' object cannot be interpreted as an integer的错误。

另外,你的时间字符串包含毫秒部分(比如示例里的:7),原格式符%y:%m:%d %H:%M:%S没覆盖这部分,也会导致解析失败。

正确解法

1. 单行解析(修正datetime用法)

用datetime.strptime()来解析字符串格式的时间,这才是专门用来把字符串转成datetime对象的方法:

import datetime

# 取某一行的时间字符串
date_str = df['RunStartTime'][row]
# 格式符加上:%f匹配毫秒部分(%f会自动补零适配一位毫秒)
dt_obj = datetime.datetime.strptime(date_str, "%y:%m:%d %H:%M:%S:%f")
# 提取日期部分
date = dt_obj.date()

2. 整列批量处理(推荐用Pandas自带方法)

没必要循环每行处理,用Pandas的to_datetime()可以高效处理整列数据:

import pandas as pd

# 把整列转成datetime类型
df['RunStartTime'] = pd.to_datetime(df['RunStartTime'], format="%y:%m:%d %H:%M:%S:%f")
# 单独提取日期列
df['RunDate'] = df['RunStartTime'].dt.date

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:12:06