How does one store descriptive dates like the “The last day in Feb”, “Fourth Saturday in April”?
我有一些描述日期的数据(例如,感恩节前的星期一、二月的最后一天、四月的第四个星期六)作为描述开始和结束时间的一部分。有些日期是明确的(例如10月31日)。我想存储描述性的和明确的值,以便在任何一年,我可以计算出准确的日期是什么时候。我做了一些搜索,但没找到。
这感觉很普通,一定是有人解决了。我也很好奇这些描述性的日期是否有合适的名称。
和标签一样,我的应用程序使用python+django。
谢谢!
如果您只有少数几个重复出现的描述性日期,那么最简单的事情就是创建一个字典,当它们出现在您的数据中时,可以将它们转换为您想要的明确日期。
但是,如果您有任意的描述性日期或其中的大量日期,那么,正如在注释中讨论的那样,NLP似乎是一种可行的方法。
答案是:玛雅
1 2 3 4 5 6 | >>> 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>) |