检查pythonlist中的日期时间并转换为字符串
如果列表中的任何元素是datetimeobject,我需要将其转换为日期格式(即;检查pythonlist中的日期时间并转换为字符串,python,Python,如果列表中的任何元素是datetimeobject,我需要将其转换为日期格式(即;2012-01-01),并在其周围加上引号“”'2012-01-01' 我如何才能完成它?您可以使用repr(str()): lista = [datetimeobject,'test',32] 对于datetime.datetime对象: In [17]: x=datetime.date(2012,2,5) In [18]: str(x) # actually returns rep
2012-01-01
),并在其周围加上引号“”<代码>'2012-01-01'
我如何才能完成它?您可以使用repr(str())
:
lista = [datetimeobject,'test',32]
对于datetime.datetime
对象:
In [17]: x=datetime.date(2012,2,5)
In [18]: str(x) # actually returns repr(str(x)) in interactive prompt
Out[18]: '2012-02-05'
In [22]: print str(x) # doesn't adds ''
2012-02-05
In [23]: print repr(str(x)) # get '' around solution
'2012-02-05'
您可以使用repr(str())
:
对于datetime.datetime
对象:
In [17]: x=datetime.date(2012,2,5)
In [18]: str(x) # actually returns repr(str(x)) in interactive prompt
Out[18]: '2012-02-05'
In [22]: print str(x) # doesn't adds ''
2012-02-05
In [23]: print repr(str(x)) # get '' around solution
'2012-02-05'
返回:
from datetime import datetime
convert_date = lambda dt: dt.strftime("'%Y-%m-%d'") if isinstance(dt, datetime) else dt
lista = [datetime.now(), 'test', 32]
map(convert_date, lista)
返回:
from datetime import datetime
convert_date = lambda dt: dt.strftime("'%Y-%m-%d'") if isinstance(dt, datetime) else dt
lista = [datetime.now(), 'test', 32]
map(convert_date, lista)
这并没有像请求的那样获得
”
(尽管您的输出表明它对熟悉repr
和str
之间的区别的人有用,并且在交互提示下调用了它们)…但是添加这些内容非常简单。很好的解决方案,这将节省我大量的输入!(他说的是datetime对象,很难,其中也包括小时数)@AlexanderStefanov还添加了datetime
对象。这并没有像要求的那样获得”
(虽然您的输出对熟悉repr
和str
之间的区别以及在交互提示下调用它们的人来说是这样的)……但添加这些内容非常简单。很好的解决方案,这将节省我大量的输入!(他说的是datetime对象,很难,其中也包括小时数)@AlexanderStefanov也添加了datetime
对象。更改为dt.strftime(“%Y-%m-%d”)
,您就完成了。谢谢,我没有意识到op实际上想要字符串中的单引号。更改为dt.strftime(“%Y-%m-%d”)
一切就绪。完成。谢谢,我没意识到op实际上想要字符串中的单引号。
["'2012-10-19'", 'test', 32]