我想以某种格式获取当前日期时间。还有比这更短的吗。
>>> import datetime
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'
不,没有。但是您不必总是重复整个调用。例如:
>>> 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')
把它放在某个函数中
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)
如果这就是你想要的,那就这样吧。但是请不要因为这样的黑客代码而责备我:-)
>>> import datetime
>>> str(datetime.datetime.now())[:19]
'2013-03-28 15:57:31'
字符数 32 :-)
由于您的格式字符串接近默认格式,您只需要摆脱微秒:
import datetime
str(datetime.datetime.now().replace(microsecond = 0))