我希望能够在strptime
之类的时候使用Python的9:00p
,其中p
代表PM。
似乎我最接近的赌注是%p
开关:
http://docs.python.org/library/time.html#time.strftime
问题是,它只解析pm
或PM
。我希望它接受p
。
文档说它使用“Locale相当于AM或PM”。我有办法将“语言环境等效”更改为p
和a
吗?
答案 0 :(得分:3)
不幸的是,Windows中的短时和长时格式仅支持A.M.的tt
。或者P.M.,似乎没有办法改变它。
您是否可以预处理字符串并使用.replace('p', 'pm').replace('a', 'am')
?
答案 1 :(得分:0)
问题在于,当您最好将其视为便利功能时,您希望strptime
解析所有内容。更改“locale equivalent”是制作神秘代码并让其他东西(如strftime
)中断的好方法。
您最好先将<{1}}替换为字符串中的9:00p
,然后将其传递给9:00pm
。您可能希望检查替换的合理性,例如“Thursp”不应该变为“Thurspm”。
答案 2 :(得分:-1)
你可以预处理它。您可以更改django核心部分的代码。
最糟糕的情况是,您可以使用子类甚至猴子补丁。如果您决定展示一些代码,我们很乐意指出前进的方向。