PHP中的快速方法检查值是否是MySQL日期时间格式?

PHP中的快速方法检查值是否是MySQL日期时间格式?

问题描述:

有谁知道是否有内置或快速函数来检查一个字符串是否是MySQL日期时间格式?这里有一个例子:PHP中的快速方法检查值是否是MySQL日期时间格式?

2038-01-19 03:14:07 

http://dev.mysql.com/doc/refman/5.0/en/datetime.html

+0

http://*.com/的可能的复制拷贝问题/ 2215354/php-date-format -insert-into-datetime -in-mysql查看php ['date()'](http://php.net/manual/en/function.date.php)文档。例如:'date(“Y-m-d H:i:s”)' – Aiias 2013-04-07 03:54:43

你可以尝试DateTime::createFromFormat('Y-m-d H:i:s', '2038-01-19 03:14:07'),看看如果返回false。 http://www.php.net/manual/en/datetime.createfromformat.php

+0

这比我刚才建议的正则表达式更好,谢谢。 – 2013-04-07 04:07:26

+0

现货 - 谢谢! – mattl 2015-07-08 13:46:18

我喜欢epicdev的答案,但是,该类似乎只验证格式,2015-18-39这样的日期仍然有效,并且转换为2016-07-09而不是拒绝无效日/月 稍作修改就是仔细检查分析的日期是否与输入的日期相同。在Gmail的点com上php.net文件提出glavic

function validateDate($date, $format = 'Y-m-d H:i:s') 
{ 
    $d = DateTime::createFromFormat($format, $date); 
    return $d && $d->format($format) == $date; 
} 

功能

功能,从这个answerphp.net

+0

这对我有效。不确定它是否与** OP ** @ 102635相同 – 2017-09-19 08:34:02