Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何存储描述性日期,例如;“2月的最后一天”&引用;四月的第四个星期六;?_Python_Django_Date_Datetime - Fatal编程技术网

Python 如何存储描述性日期,例如;“2月的最后一天”&引用;四月的第四个星期六;?

Python 如何存储描述性日期,例如;“2月的最后一天”&引用;四月的第四个星期六;?,python,django,date,datetime,Python,Django,Date,Datetime,我有一些描述日期的数据(例如,感恩节前的星期一、2月的最后一天、4月的第四个星期六),作为描述开始和结束时间的一部分。有些日期是明确的(例如10月31日)。我想存储描述性的和显式的值,这样我就可以计算出任何年份的确切日期。我做了一些搜索,结果没有找到 这感觉很平常,一定有人解决了。 我也很好奇这些描述性的日期是否有一个合适的名字 与标签一样,我的应用程序使用Python+Django 谢谢 如果您只有少数几个重复出现的描述性日期,最简单的方法是创建一个字典,每当它们出现在您的数据中时,可以将它们

我有一些描述日期的数据(例如,感恩节前的星期一、2月的最后一天、4月的第四个星期六),作为描述开始和结束时间的一部分。有些日期是明确的(例如10月31日)。我想存储描述性的和显式的值,这样我就可以计算出任何年份的确切日期。我做了一些搜索,结果没有找到

这感觉很平常,一定有人解决了。 我也很好奇这些描述性的日期是否有一个合适的名字

与标签一样,我的应用程序使用Python+Django


谢谢

如果您只有少数几个重复出现的描述性日期,最简单的方法是创建一个字典,每当它们出现在您的数据中时,可以将它们转换为您想要的明确日期


但是,如果您有任意的描述性日期或大量的描述性日期,那么正如评论中所讨论的那样,NLP似乎是一条可行之路。

这就是答案:Maya

>>> import maya
>>> weird_day=maya.when('3rd Saturday in June')
>>> weird_day.rfc2822()
'Sun, 03 Jun 2018 00:00:00 GMT'
>>> weird_day.datetime(to_timezone='US/Pacific')
datetime.datetime(2018, 6, 2, 17, 0, tzinfo=<DstTzInfo 'US/Pacific' PDT-1 day, 17:00:00 DST>)
导入maya >>>怪异的一天=玛雅时间('6月的第三个星期六') >>>怪异的一天。rfc2822() '2018年6月3日星期日00:00:00 GMT' >>>奇怪的天。日期时间(到美国/太平洋时区) datetime.datetime(2018,6,2,17,0,tzinfo=)
听起来更像是自然语言处理问题。其他人在类似主题中提到了nltk contrib实用程序,但我认为它不适合您的输入字符串
Delorean
library提供了支持,但反过来也是。您还可以使用外部服务,如或,来解析和解释您的“描述性”日期。另请参见和。“自然语言”是其中的一个关键短语,并解锁了更多搜索。非常感谢。