更短版本的now()

时间:2013-03-28 05:32:32

标签: python datetime

我希望以某种格式获取当前日期时间。还有什么比这短。

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

4 个答案:

答案 0 :(得分: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')

答案 1 :(得分: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)

答案 2 :(得分:2)

如果这就是你想要的一切,那就这样吧。但请不要责怪我这样一个hackish代码: - )

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

字符32: - )

答案 3 :(得分:0)

由于您的格式字符串接近默认格式,您只需要摆脱微秒:

import datetime
str(datetime.datetime.now().replace(microsecond = 0))