PHP以特定格式自动更正日期

时间:2017-10-03 18:04:17

标签: php date

在我的代码中,用户在内容中发布日期。哪种格式可以采用MySQL date time字段格式中的多数自动设置中使用的格式,即yyyy-mm-dd hh:mm:ss。我的问题是他们中的大多数都有拼写错误或我的代码没有正确选择的不同格式,它返回的日期类似于1970-01-01 05:00:00。我对此问题深有感触。是否有任何功能可以自动更正日期时间,即使其中存在拼写错误,如果时间不可用,它会自动添加时间吗?

以下是我得到的不同格式的一些示例

30 September 2017 | 09 31 AM
29 September 2017 | 02:30 PM
27/07/2016 | 08:20 PM
19/09/2017| 01:32 PM
14-July-2017 03:31 PM
September 5 2017
April 7 2016 04:55 PM

这是我目前的PHP代码

$get_date = ""; //Date in text form
$show_dated = strtotime(str_replace('|', '', $get_date);
$get_date = date("Y-m-d H:i:s", $show_dated);
echo $get_date;

1 个答案:

答案 0 :(得分:1)

尝试使用date_parse()而不是strtotime()。我做了一段时间,它运作得更好。最终,我的解决方案是基于混乱的用户输入构建自定义解析器。我看了2000个参赛作品,以制定一个“黄金标准”'一组结果,然后微调一个匹配的算法,直到它正确执行100%。