0

特定の形式で現在の日時を取得したい。これより短いものはありますか?

>>> import datetime
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'
4

4 に答える 4

6

いいえ、ありません。ただし、呼び出し全体を常に繰り返す必要はありません。例えば:

>>> import datetime
>>> now = datetime.datetime.now
>>> now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'

常に同じ形式が必要な場合は、それもラップできます。

import datetime
def now_string():
    return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
于 2013-03-28T05:34:49.113 に答える
4

どこかの関数に入れるだけです

import datetime
def my_now():
    return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

いくつかのオプションの引数を使用して、より柔軟にすることができます

import datetime
def my_now(the_time=None, fmt='%Y-%m-%d %H:%M:%S'):
    if the_time is None:
        the_time = datetime.datetime.now()
    return the_time.strftime(fmt)
于 2013-03-28T05:34:36.820 に答える
2

それがあなたが望むすべてなら、そうしてください。しかし、そのようなハックなコードについて私を責めないでください:-)

>>> import datetime
>>> str(datetime.datetime.now())[:19]
'2013-03-28 15:57:31'

文字数 32 :-)

于 2013-03-28T05:38:14.610 に答える
0

フォーマット文字列はデフォルトのフォーマットに近いため、マイクロ秒を取り除くだけで済みます。

import datetime
str(datetime.datetime.now().replace(microsecond = 0))
于 2013-03-28T08:04:15.627 に答える