【问题标题】:Converting string to time in python is giving error在python中将字符串转换为时间会出错
【发布时间】:2020-04-08 17:00:32
【问题描述】:

这个问题可能会得到回答,但我找不到链接。我正在尝试将字符串转换为时间。 我的字符串看起来像“上午 9 点”

x = datetime.datetime.strptime(start,"%I:%M %p")


我收到以下错误:

time data '4:30 p.m.' does not match format '%I:%M %p'

我哪里错了??

【问题讨论】:

  • "下午"与“pm”不同。点不应该在那里。
  • 你为什么不看看%I%M%pdocumentation来尝试理解错误?
  • 你的意思是我应该把 %p 改成别的东西吗?如果是,那么我应该使用什么来代替 %p ?
  • 上午和下午不支持,看文档。您必须自己编写代码才能首先删除这些点。

标签: python python-datetime


【解决方案1】:

你的问题是“下午”与“pm”不同,%p 只查找“am”或“pm”。

为了将您的字符串 start 从“下午 4 点”转换到“下午4点”,你可以使用

start = start.replace(".", "")

这将替换所有“。”字符串中的字符,什么都没有。

如果您删除“。”从您的字符串转换为日期时间之前,它应该不会导致任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多