如何在Python中将datetime.datetime对象列表转换为日期?

时间:2015-01-11 10:20:24

标签: python datetime formatting

我使用的是Python whois API,名为' pythonwhois'并尝试提取创作日期'获取域名列表。我正在使用的代码是:

f = open (file,'r')
with open (output,'wt') as m:
    for line in f:
        line = line.strip('\n')
        domain = line.split(';')
        try:
            w = pythonwhois.get_whois(domain)
            c_date = (w['creation_date'])
            print (domain,c_date)

        except:
            pass

结果是datetime.datetime对象列表,如下所示:

domain,creation_date
('hostzi.com', [datetime.datetime(2009, 5, 12, 13, 4, 12)])
('daduru.com',  [datetime.datetime(2007, 4, 16, 10, 59)])
('callforest.com', [datetime.datetime(2006, 4, 23, 14, 29, 1)])

我希望转换' creation_date'列到python日期的字符串表示形式,格式为Y / m / d。 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

您可以使用strftime

  

返回表示日期和时间的字符串,由显式格式字符串控制:

>>> l=('hostzi.com', [datetime.datetime(2009, 5, 12, 13, 4, 12)])
>>> l[1][0].strftime('%Y/%m/%d')
'2009/05/12'

您也可以直接在主代码上执行此操作:

f = open (file,'r')
with open (output,'wt') as m:
    for line in f:
        line = line.strip('\n')
        domain = line.split(';')
        try:
            w = pythonwhois.get_whois(domain)
            c_date = (w['creation_date'])
            print (domain,c_date[0].strftime('%Y/%m/%d'))

        except:
            pass

答案 1 :(得分:-2)

将datetime.datetime对象转换为datetime.date对象: https://docs.python.org/2/library/datetime.html#datetime.datetime.date

编辑: 要将datetime.datetime对象转换为格式为Y \ m \ d:

的字符串
d = datetime.datetime.now()
d.strftime("%Y\%m\%d")

https://docs.python.org/2/library/datetime.html#datetime.datetime.strftime