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

Python中字符串转datetime失败,请求技术帮助

解决日期字符串转换失败的问题

问题根源

  1. 读取的字符串带多余单引号:文件内容是'2023-12-03 00:00',读取后字符串包含首尾单引号,导致格式匹配失败。
  2. 格式串误用重复字符:错误信息显示你实际使用了%YYYY-%mm-%dd %HH:%MM这种错误格式——正确的格式符是单个字母,比如%Y代表4位年份,不能重复书写。

修正代码

import time
from datetime import datetime, timedelta

# 读取并清理字符串:去掉空白和首尾单引号
with open('你的文件名.txt', 'r') as flast:
    last_update_str = flast.readlines()[-1].strip().strip("'")

# 正确的日期格式串
dateformat = "%Y-%m-%d %H:%M"
# 转换为datetime对象(支持直接和timedelta运算)
last_update = datetime.strptime(last_update_str, dateformat)
next_run_date = last_update - timedelta(days=2)

print(next_run_date)

关键说明

  • strip("'"):专门去除字符串首尾的单引号,让日期内容变成纯2023-12-03 00:00格式。
  • 格式串必须用单个格式符:比如%Y(4位年)、%m(2位月)、%d(2位日)、%H(24小时制)、%M(分钟),不能重复写字母。
  • 用datetime.strptime替代time.strptime:前者返回的datetime对象可以直接和timedelta做减法运算,后者返回的struct_time不支持该操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 03:21:12