首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何指定日期解析器解析以将dd/mm/yyyy视为默认值而不是mm/dd/yyyy

如何指定日期解析器解析以将dd/mm/yyyy视为默认值而不是mm/dd/yyyy
EN

Stack Overflow用户
提问于 2016-06-09 12:36:46
回答 4查看 2.5K关注 0票数 2

日期解析器包是一个很棒的包:https://dateparser.readthedocs.io/en/latest/

要成为通用的:我需要能够解析“印度”日期格式的日期。

我使用python2.7版本

准确地说:我得到-

代码语言:javascript
复制
>>> import dateparser
>>> dateparser.parse('Tue, 06/07/2016')
datetime.datetime(2016, 6, 7, 0, 0)

我需要

代码语言:javascript
复制
>>> import dateparser
>>> dateparser.parse('Tue, 06/07/2016')
datetime.datetime(2016, 7, 6, 0, 0)

如果您知道任何可以做到这一点的配置更改,那就太好了。任何帮助都将不胜感激。:)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-28 18:27:38

dateparsersettings来处理这样的场景。与指定date_formats不同,您还可以按以下方式使用DATE_ORDER设置。

In [3]: parse('Tue, 06/07/2016', settings={'DATE_ORDER': 'DMY'}) Out[3]: datetime.datetime(2016, 7, 6, 0, 0)

在这里找更多设置

票数 5
EN

Stack Overflow用户

发布于 2016-06-09 12:50:55

您可以使用datetime.strptime,而不是dateparser,因为它是python标准库的一部分:

代码语言:javascript
复制
In [13]:
import datetime as dt
dt.datetime.strptime('Tue, 06/07/2016', '%a, %d/%m/%Y')

Out[13]:
datetime.datetime(2016, 7, 6, 0, 0)

好的,它看起来像是逗号使dateparser不舒服,如果您不把它传递到formats arg中,那么它可以工作:

代码语言:javascript
复制
In [30]:    
import dateparser
dateparser.parse('Tue, 06/07/2016', date_formats=['%A %d/%m/%Y'])

Out[30]:
datetime.datetime(2016, 7, 6, 0, 0)
票数 4
EN

Stack Overflow用户

发布于 2021-03-28 20:49:09

如果有人仍然面临这个问题,您可以查看一下dateparser.readthedocs.io/en/latest/settings.html文档Settings

正如user739721所指出的,您可以并且应该使用settings={'DATE_ORDER': 'DMY'}作为parse的关键字参数。如果您多次调用dateparser.parse(),并且将它添加到任何地方都是痛苦的,那么它可能会变得非常麻烦。为此,可以从python自己的partial中使用functools

代码语言:javascript
复制
import functools
import dateparser
parse = functools.partial(dateparser.parse, settings={'DATE_ORDER': 'DMY'})

现在,任何对解析的调用都将使用“DMY”设置。

警告:如果最后传递要解析调用的设置时,会被覆盖。所以,有了上面的解析定义,

代码语言:javascript
复制
In [21]: parse('1 3 1970').strftime("%B")
Out[21]: 'March'

In [22]: parse('1 3 1970', settings={}).strftime("%B")
Out[22]: 'January'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37726207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档