現在の現地時間を、年-月-日時:分:秒という形式の文字列として取得しようとしています。ロギングに使用します。ドキュメントを読んで、次の方法でこれを行うことができます。
import time
'{0:%Y-%m-%d %H:%M:%S}'.format(time.localtime())
しかし、私はエラーが発生します:
トレースバック(最新の呼び出しは最後): FileError、1行目、 ValueError:Invalid format specifier
私は何を間違えていますか?もっと良い方法はありますか?
time.localtime
戻り値 time.struct_time
これはstrftimeのようなフォーマットをサポートしていません。
パス - datetime.datetime
strftimeフォーマットをサポートするオブジェクト。 (見る - datetime.datetime.__format__
)
>>> import datetime
>>> '{0:%Y-%m-%d %H:%M:%S}'.format(datetime.datetime.now())
'2014-02-07 11:52:21'
代わりに time.strftime
:
time.strftime('{%Y-%m-%d %H:%M:%S}')
また、Python(3.6+、 https://www.python.org/dev/peps/pep-0498/ 完全を期すために)=)の新しいバージョンの場合、より新しい文字列フォーマットを使用できます。
import datetime
today = datetime.date.today()
f'{today:%Y-%m-%d}'
> '2018-11-01'