python - 在 strptime 中占 AM PM 不起作用
问题描述
我在这里关注另一个搜索线程,但它不起作用。每当我包含 %p 以获取 AM/PM 时,我都会收到以下错误:
ValueError:时间数据“11:30”与格式“%I:%M%p”不匹配
如果我有 '%I:%M %p' 或 '%I:%M%p',这是真的。如果我将 %p 关闭,它可以正常工作,但这违背了获得 AM PM 的目的
# my code
from datetime import datetime
date_string = '11:30'
format = '%I:%M %p'
my_date = datetime.strptime(date_string, format)
my_date.strftime(format)
解决方案
您只需要提供与strptime
功能时间相同的格式。然后在函数中使用 AM/PM 格式('%I:%M %p')strftime
。
from datetime import datetime
def getTime(time_string):
time_object = datetime.strptime(time_string,'%H:%M') #Covert string to time object
return time_object.strftime('%I:%M %p') #Convert time object to AM/PM format
getTime('11:30')
Output: 11:30 am
getTime('13:30')
Output: 01:30 pm
推荐阅读
- roblox - 此代码是否以任何方式可疑或恶意?
- python - 不明白这个功能 - 如何计算单词中的单词
- kubernetes-helm - Helm - 无法获取 jetstack/cert-manager
- css - 从 hugo 示例中删除最大宽度
- java - 什么是windows acl权限相当于linux中的600权限
- swift - AppleWatch 上的 Firebase 数据库
- php - Nette,从文本区域中提取数字以执行计算
- reactjs - 在 JS 指令之后反应结合 JSX 元素?
- ruby-on-rails - 没有路由匹配 [GET] "/password_resets"
- xamarin - 从 Xamarin 连接到 Back4App