回答:
日時クラスには、メソッドstrftimeがあります。Pythonのドキュメントには、受け入れ可能なさまざまな形式が記載されています。
この特定の例では、次のようになります。
my_datetime.strftime("%B %d, %Y")
strftime
Python 2と3の違いは何ですか?
これは、Pythonの一般的なフォーマット機能を使用して同じことを行う方法です...
>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())
ここで使用されるフォーマット文字は、strftimeで使用されるものと同じです。:
フォーマット指定子の先頭をお見逃しなく。
ほとんどの場合、strftime()の代わりにformat()を使用すると、コードが読みやすくなり、書きやすくなり、フォーマットされた出力の生成方法と一致します...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())
上記を以下のstrftime()の代替と比較してください...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))
さらに、以下は機能しません...
>>>datetime.now().strftime("%s %B %d, %Y" % "Andre")
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
datetime.now().strftime("%s %B %d, %Y" % "Andre")
TypeError: not enough arguments for format string
等々...
print 'Today is {:%B %d, %Y}'.format(datetime.now())
とprint 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')
。とにかくformat()メソッドを使用している場合、日付の書式設定にも使用してみませんか?
非常に古い質問です。しかし、新しいpython - 3.6以降のf-stringsには新しいオプションがあります。だからここで完全性のために:
from datetime import datetime
dt = datetime.now()
# str.format
strg = '{:%B %d, %Y}'.format(dt)
print(strg) # July 22, 2017
# datetime.strftime
strg = dt.strftime('%B %d, %Y')
print(strg) # July 22, 2017
# f-strings in python >= 3.6
strg = f'{dt:%B %d, %Y}'
print(strg) # July 22, 2017
strftime()
「strptime()
動作」では、フォーマット指定子の意味を説明しています。
Pythonのdatetimeオブジェクトにはmethod属性があり、読み取り可能な形式で出力されます。
>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>>
これは日付のフォーマットですか?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
dt = datetime.datetime(*t[:7])