获取日期字符串的最佳方法(Python)

1 投票
2 回答
517 浏览
提问于 2025-04-16 15:25

用Python从网站获取日期字符串的最佳方法是什么?

这些日期字符串可能有以下几种形式:

  • 2011年4月1日
  • 2011年4月2日
  • 2011年4月23日
  • 4/2/2011
  • 04/23/2011

这是不是需要写很多正则表达式?最优雅的解决方案是什么?

2 个回答

1

在编程中,有时候我们需要把一些数据从一个地方转移到另一个地方。这就像把水从一个杯子倒到另一个杯子一样。这个过程可能会涉及到不同的工具和方法,具体取决于我们要处理的数据类型和目标。

有些时候,我们可能会遇到一些问题,比如数据格式不匹配,或者目标位置不支持我们想要的数据类型。这就像你想把热水倒进一个不能耐热的杯子里,结果杯子坏掉了。

为了避免这些问题,我们需要提前检查和确认数据的兼容性。就像在倒水之前,先确认杯子是否适合装热水一样。

总之,数据的转移需要谨慎对待,确保每一步都是安全的,这样才能顺利完成任务。

    month = '(jan|feb|mar|apr|may|jun|jul|aug|sep|nov|dec)[a-z]{0,6}'
    regex_strings = ['%s(\.| )\d{1,2},? \d{2,4}' % month, # Month.Day, Year
                     '\d{1,2} %s,? \d{4}' % month, # Day Month Year(4)
                     '%s \d{1,2}\w{2},? \d{4}' % month, # Mon Day(th), Year
                     '\d{1,2} %s' % month, # Day Month
                     '\d{1,2}\.\d{1,2}\.\d{4}', # Month.Day.Year
                     '\d{1,2}/\d{1,2}/\d{2,4}', # Month/Day/Year{2,4}
                     ]
2

考虑一下这个库:http://code.google.com/p/parsedatetime/

在它的示例维基页面上,有几个格式可以处理,看起来和你的问题相关:

result = p.parseDateText("March 5th, 1980") 
result = p.parseDate("4/4/80") 

编辑:现在我注意到这其实是这个问题的重复提问,里面也推荐了同样的库!

撰写回答