【发布时间】:2019-12-02 19:23:50
【问题描述】:
具体来说,我在 Windows 上使用 %-d 和 %-m 时遇到问题。
我得到的错误很简单
output_dict.update({"DOB1": f"{dob.strftime('%-m/%-d/%Y') if not dob is None else 'UniqueID' + str(row)}"})
ValueError: Invalid format string
我的格式字符串如下所示:
dob.strftime('%-m/%-d/%Y')
我相当肯定这是因为我是 Windows,但我想知道是否有独立于平台的方法来解决此问题,或者我是否做错了导致此错误的其他事情。
我在 Windows strftime 中看到了一些关于 %e 的信息,但它用空格替换了 0,但这是不可取的。我正在尝试获得这些确切的输出(我稍后使用类似的格式字符串)1/1/2000 和January 1 2000。
我不希望使用像 {dob.year} 等这样的解决方案,因为我已经有一个格式字符串可以放入其中。
我将不胜感激有关最佳实践的任何想法以及如何实施解决方案。谢谢。
【问题讨论】:
-
你能显示你的varialbe dob中有什么
-
在 Windows 上使用
#而不是-,如那里所说:stackoverflow.com/questions/28894172/… -
@jona 解决了这个问题,您能否将其充实为未来读者的完整答案?
标签: python python-3.x datetime