使用 str.format() 格式化 Python 日期对象如何工作?
How does formatting a Python date object with str.format() work?
我最近看到了这个字符串格式示例:
>>> from datetime import date
>>> 'Today is {0:%A}'.format(date.today())
'Today is Thursday'
我想知道它是如何工作的。
date
class 定义了 __format__()
魔术方法,str.format()
调用该方法以生成对象的“格式化”字符串表示形式。引用 date.__format__()
的文档:
Same as date.strftime()
. This makes it possible to specify a format
string for a date
object in formatted string literals and when using
str.format()
. For a complete list of formatting directives, see
strftime()
and strptime()
Behavior.
因此,'{:%A}'.format(date.today())
等同于date.today().strftime('%A')
。
我最近看到了这个字符串格式示例:
>>> from datetime import date
>>> 'Today is {0:%A}'.format(date.today())
'Today is Thursday'
我想知道它是如何工作的。
date
class 定义了 __format__()
魔术方法,str.format()
调用该方法以生成对象的“格式化”字符串表示形式。引用 date.__format__()
的文档:
Same as
date.strftime()
. This makes it possible to specify a format string for adate
object in formatted string literals and when usingstr.format()
. For a complete list of formatting directives, seestrftime()
andstrptime()
Behavior.
因此,'{:%A}'.format(date.today())
等同于date.today().strftime('%A')
。