在使用scrapy的dateparser转换日期格式时删除时间戳

时间:2019-04-16 03:47:21

标签: python datetime scrapy

我正在草率地使用dateparser来转换日期格式。

原始日期格式:Apr 16, 2019

使用dateparser后:2019-04-16 00:00:00

这是我想要实现的。但是,我仍然想从日期格式中删除时间,因此最后,我只有2019-04-16。不幸的是,我无法意识到这一点。

这是我的代码行:

import dateparser

...

def parse_site(self, response):
        def get_with_xpath(query):
             return response.xpath(query).get(default='').strip()
        yield {
            'date': dateparser.parse(get_with_xpath('//meta[@name="date"]/@content'))
        }

正如我所说,它有效。但是我想删除时间戳。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

该库的方法以datetime格式返回所有值。但是之后,您可以随意与他们联系。检查此示例:

>>> import dateparser
>>> dateparser.parse("Apr 16, 2019")
datetime.datetime(2019, 4, 16, 0, 0)
>>> dateparser.parse("Apr 16, 2019").date()
datetime.date(2019, 4, 16)

答案 1 :(得分:1)

Dateparser.parse返回datetime,表示成功的解析日期。您可以使用strftime()函数删除时间戳,如下所示

dateparser.parse('Apr 16, 2019').strftime("%Y-%m-%d")