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

如何解决Python中datetime格式不匹配的报错问题?

修复datetime格式不匹配问题

问题根源

你的时间字符串是四位年份(如2017-01-02 13:42:05.378582),但格式符用了%y(仅匹配两位年份,比如17),导致格式不匹配报错。正确匹配四位年份的格式符是%Y(大写Y)。

修复方案1:修改strptime格式符

把格式字符串中的%y替换为%Y即可:

import datetime

start_time = datetime.datetime.strptime(df['timestamp'].min(), '%Y-%m-%d %H:%M:%S.%f')
end_time = datetime.datetime.strptime(df['timestamp'].max(), '%Y-%m-%d %H:%M:%S.%f')
data_duration = (end_time - start_time).days

print(f"Number of unique users in experiment: {df['user_id'].nunique()}")

修复方案2:使用pandas内置的时间转换(更推荐)

既然你在处理pandas DataFrame,直接用pd.to_datetime转换整列时间,操作更简洁且不易出错:

import pandas as pd

# 先将timestamp列转换为datetime类型
df['timestamp'] = pd.to_datetime(df['timestamp'])

# 直接取最小/最大时间计算时长
start_time = df['timestamp'].min()
end_time = df['timestamp'].max()
data_duration = (end_time - start_time).days

print(f"Number of unique users in experiment: {df['user_id'].nunique()}")

这种方法无需手动指定格式,pandas会自动识别大部分时间格式,同时转换后的列支持直接调用min/max等方法,代码更简洁高效。

内容的提问来源于stack exchange,提问作者Ahmed Al Mubarak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:45:29