Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
获取字符串php中的日期_Php_Date - Fatal编程技术网

获取字符串php中的日期

获取字符串php中的日期,php,date,Php,Date,我试图用php从句子中提取日期。。比如说 我正在努力摆脱2006年8月10日的困境 “2006年10月8日,一场大风暴过后,这座建筑被清理干净。” 它有一个github函数 但它在2012年1月5日等日期失败 我意识到,鉴于日期字符串的多样性,在字符串中查找日期字符串要比针对特定格式的简单正则表达式或对给定字符串输入进行strototiming困难得多 有人有什么好主意吗 我认为没有可行的解决方案,因为2010年8月10日没有说明太多。。。它可以是10天或10个月。。。我认为您可以继续使用正则表

我试图用php从句子中提取日期。。比如说

我正在努力摆脱2006年8月10日的困境

“2006年10月8日,一场大风暴过后,这座建筑被清理干净。”

它有一个github函数 但它在2012年1月5日等日期失败

我意识到,鉴于日期字符串的多样性,在字符串中查找日期字符串要比针对特定格式的简单正则表达式或对给定字符串输入进行strototiming困难得多


有人有什么好主意吗

我认为没有可行的解决方案,因为2010年8月10日没有说明太多。。。它可以是10天或10个月。。。我认为您可以继续使用正则表达式:)

我认为使用正则表达式会更简单。
问题是日期的书写方式还有很多选择。

首先,我会先寻找一些基本模式,然后用几次正则表达式(mm/dd/yy和mm/dd/yyyy,带有
\d{2]/\d{2}/\d{2,4}
,然后寻找其他模式,比如
\d{1,2}(th | st | rd)Jan(uary)→Jan(uary)→Feb(ru124; Mar il)(ch |Apr)?五月?六月(东)?七月(年)?八月(东印度科技大学)?九月(冬季)?十月(奥伯)十一月(余烬)?十二月(余烬)
etc)

几乎可以肯定的是,编写几个正则表达式并一次性完成比编写一个大型正则表达式更快

然后,将提取的内容传递到
strotime
,以获得一个可用的unix时间戳,并从中执行所需的操作

注意事项:

  • 我没有试过正则表达式,有明显的优化
  • 假设您的日期始终为美国风格(mm/dd/yy,而非dd/mm/yy)

因此,如果我正确,字符串中的日期格式可以是任何内容?还应该解释2011年3月3日之类的日期?是的,哈哈。它可以是任何内容。我必须对它进行编码,某种程度上寻找已经存在的任何内容。听起来应该是正则表达式。有很多。祝你好运!:)是的,我想有人有alr我已经用所有不同方法和相关正则表达式的巨大库完成了,但不幸的是,我无法在网上找到它。这不难。预匹配年份很容易-->4位数字。按名称排序很容易,有12个选项。问题是每月的一天,如果是月数或日数,现在你如何选择。谢谢..我不知道现在有了dd/mm/yy格式。这也许可以解释为什么github失败了。可能不是美国人是的,它是英国的dd/mm/yy格式(也可能是其他格式)。