我在Python中看到了很多关于将日期字符串转换为datetime对象的内容,但我想采用另一种方式。 我有

datetime.datetime(2012, 2, 23, 0, 0)

我想把它转换成'2/23/2012'这样的字符串。


当前回答

您可以将datetime转换为字符串。

published_at = "{}".format(self.published_at)

其他回答

我已经使用此方法将日期插入JSON对象

my_json_string = json.dumps({'date_of_birth': '''{}'''.format(date_of_birth)})

你可以使用简单的字符串格式化方法:

>>> dt = datetime.datetime(2012, 2, 23, 0, 0)
>>> '{0.month}/{0.day}/{0.year}'.format(dt)
'2/23/2012'
>>> '%s/%s/%s' % (dt.month, dt.day, dt.year)
'2/23/2012'

类型特定的格式也可以使用:

t = datetime.datetime(2012, 2, 23, 0, 0)
"{:%m/%d/%Y}".format(t)

输出:

'02/23/2012'

如果你也想要时间,那就去吧

datetime.datetime.now().__str__()

打印2019-07-11 19:36:31.118766在控制台为我

如果您正在寻找datetime到字符串转换的简单方法,可以省略该格式。您可以将datetime对象转换为str对象,然后使用数组切片。

In [1]: from datetime import datetime

In [2]: now = datetime.now()

In [3]: str(now)
Out[3]: '2019-04-26 18:03:50.941332'

In [5]: str(now)[:10]
Out[5]: '2019-04-26'

In [6]: str(now)[:19]
Out[6]: '2019-04-26 18:03:50'

但是注意下面的事情。如果其他解决方案会在变量为None时引发AttributeError,在这种情况下,您将收到一个'None'字符串。

In [9]: str(None)[:19]
Out[9]: 'None'