2016-11-12 13 views
1
from datetime import datetime 
now = datetime.now() 
sentence = "{:%B %d %Y}".format(now=datetime.now) 

何らかの理由で私がキーワードからのインポートを使用する必要がある場合は、上記の例のように3行でどのように書式を設定しますか?私の正確な質問は、私はこの場合にフォーマットパラメータを使う方法を知らないということです。Python 2.7文字列形式

+1

'文= datetime.nowを()のstrftime( "%のB%dの%Y")' – furas

+0

'フォーマット() 'は異なる引数を使い、' strftime() ' - http://strftime.org/とhttps://pyformat.info/を参照してください。 – furas

+0

@furas、' str.format'は内部的にオブジェクトの '__format__'を使います。 ['datetime.strformat'](https:// docs。)に相当する[' datetime .__ format__'](https://docs.python.org/2/library/datetime.html#datetime.datetime.__format__) python.org/2/library/datetime.html#datetime.datetime.strftime)の 'datetime'オブジェクトです。 – falsetru

答えて

1
  1. あなたはないdatetime.now方法自体、datetime.now()を渡す必要があります。
  2. キーワード引数を使用するフォーマット文字列にnowを指定します。また、datetimeオブジェクトを位置引数として渡す場合は、nowを省略することもできます。 furasとして

>>> from datetime import datetime 
>>> now = datetime.now() 
>>> "{now:%B %d %Y}".format(now=datetime.now()) # keyword argument 
'November 12 2016' 

>>> "{:%B %d %Y}".format(datetime.now()) # positional argument 
'November 12 2016' 
>>> "{0:%B %d %Y}".format(datetime.now()) # positional argument + explicit 0 (first arg) 
'November 12 2016' 
1

この作品、上記コメント:

>>> from datetime import datetime 
>>> sentence = datetime.now().strftime("%B %d %Y") 
>>> print sentence 
November 12 2016 
>>>