【问题标题】:How does formatting a Python date object with str.format() work?如何使用 str.format() 格式化 Python 日期对象?
【发布时间】:2016-01-21 15:21:16
【问题描述】:

我最近看到了这个字符串格式化示例:

>>> from datetime import date
>>> 'Today is {0:%A}'.format(date.today())
'Today is Thursday'

我想知道它是如何工作的。

【问题讨论】:

标签: python date string-formatting


【解决方案1】:

date 类定义了 __format__() 魔术方法,str.format() 调用该方法以生成对象的“格式化”字符串表示。引用date.__format__() 的文档:

date.strftime() 相同。这使得可以指定格式 formatted string literals 中的 date 对象的字符串以及使用时 str.format()。有关格式化指令的完整列表,请参阅 strftime() and strptime() Behavior.

因此,'{:%A}'.format(date.today()) 等价于 date.today().strftime('%A')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 2021-10-22
    • 2012-09-28
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多