如何存储描述日期,如“2月的最后一天”,“4月的第四个星期六”?

时间:2016-06-18 21:26:39

标签: python django date datetime

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

这感觉很平常,有人必须解决它。 如果这些描述性日期具有正确的名称,我也很好奇。

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

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您只有少数几个重复出现的描述性日期,最简单的方法就是创建一个字典,可以将它们翻译成您想要的显式日期。

如果你有任意的描述日期或大量的描述日期,似乎正如评论中所讨论的那样,NLP是要走的路。

答案 1 :(得分:0)

这就是答案: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>)
相关问题