Python 3打印日期时间为1900年?

时间:2017-05-06 03:42:06

标签: python datetime format

出于某种原因,当我格式化datetime.datetime.now()以便在Python 3中很好地打印日期和时间时,日期将持续到01/01/1900。

这是我的代码:

print('{}'.format(str(datetime.datetime.now().time().strftime('%x %X'))))

输出:01/01/00 13:40:11

关于为什么日期错误的任何想法?

3 个答案:

答案 0 :(得分:3)

转换为datetime.time会删除日期:

<强>代码:

print(dt.datetime.now().time().strftime('%x %X'))
print(dt.datetime.now().strftime('%x %X'))

<强>结果:

01/01/00 20:47:41
05/05/17 20:47:41

答案 1 :(得分:2)

您的来电是datetime.datetime.now().time()

注意它与datetime.datetime.now()

之间的区别
>>> datetime.datetime.now().time()
datetime.time(22, 45, 48, 610362)
>>> datetime.datetime.now()
datetime.datetime(2017, 5, 5, 22, 45, 57, 874420)

您想删除.time()中的.format()部分。

>>> print('{}'.format(datetime.datetime.now().strftime('%x %X')))
05/05/17 22:47:30

答案 2 :(得分:1)

>>> now_time = datetime.datetime.now()
>>> now_time.strftime('%x %X')
'05/06/17 09:15:27'

你不需要.time