如何在python中更改时间格式?

如何在python中更改时间格式?,python,string,time,Python,String,Time,如何获得以下列表 [datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)] 作为 它不仅可以转换为字符串,还可以删除DUP使用将日期转换为字符串 通过将列表转换为集合,然后再转换回列表,可以删除重复项 dates = list(set(dates)) 然后将这两种方法结合起来,一步完成这一切 dates = list(set([

如何获得以下列表

 [datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
作为


它不仅可以转换为字符串,还可以删除DUP

使用将日期转换为字符串

通过将列表转换为集合,然后再转换回列表,可以删除重复项

dates = list(set(dates))
然后将这两种方法结合起来,一步完成这一切

dates = list(set([date.strftime('%Y-%m') for date in dates]))

set
将列表转换为set对象,删除重复项。
[date.strftime(“%Y-%m”)表示日期中的日期]
是一种列表理解,它使用带有年-月模式的
strftime
函数将每个日期转换为字符串。

我首先需要将日期更改为字符串……否则,日期都是空的different@user428862我就快到了。(耐心)set模块已被弃用,因为在2.6版本中,它是一个内置类。所以,它更像是Python的一部分。@judge…作为一个新手…deprecated意味着…所以,在2.7和3.1中,我可以使用set。正确…@user428862是的,您可以继续使用set。重申一下,set类没有被弃用。它以前是在单独的模块中,但后来被转移到Python中。因此,旧模块被弃用,而不是set类本身。
In [43]: import datetime

In [44]: dates=[datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]

In [45]: set([date.strftime('%Y-%m') for date in dates])
Out[45]: set(['2011-04', '2011-05'])
dates = list(set([date.strftime('%Y-%m') for date in dates]))
>>> dates = [datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
>>> set([date.strftime('%Y-%m') for date in dates])
set(['2011-05', '2011-04'])
In [43]: import datetime

In [44]: dates=[datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]

In [45]: set([date.strftime('%Y-%m') for date in dates])
Out[45]: set(['2011-04', '2011-05'])