将“ datetime.date(2019,3,21)”转换为“ 2019/03/21”

时间:2019-12-12 16:48:42

标签: python-3.x

我有一个列表列表,看起来像:

[['2019-001', datetime.date(2019, 3, 21), 'Services']]

我希望结果看起来像这样:

[['2019-001', '2019/03/21', 'Services']]

我将需要遍历整个列表列表,因为我不知道所有这些日期时间条目都位于何处。我应该使用正则表达式,还是有更好/更快/更多的Pythonic方式?

1 个答案:

答案 0 :(得分:1)

也许使用list-comp和isinstance()进行以下操作?如果您不知道列表中的哪个元素将成为datetime对象,那么我们最好的办法就是检查每个元素。

>>> l = [['2019-001', datetime.date(2019, 3, 21), 'Services']]
>>> [[x.strftime('%Y/%m/%d') if isinstance(x, datetime.date) else x for x in sl] for sl in l]
[['2019-001', '2019/03/21', 'Services']]