我想我应该自己来做,但是在我重新发明轮子之前......。
我有一个输入框,可以让人决定使用什么日期格式。他们可以输入freetext,然后将其解释为 php date
说有人进入 Y-m-d
作为日期,是否有一个转换器知道这是 YYYY-MM-DD
如果我使用 MomentJS, %Y-%m-%d
对于 MySQL,而(简化版的)正则表达式将是 ^\d\d\d\d-\d\d-\d\d$
义务教育和 ^(\d\d\d\d-\d\d-\d\d)?$
为可选的(我想用更好的regex,这个更容易看到)。
创建一个类应该是很简单的,我只是想检查一下在 PHP 中是否已经有办法做到这一点,如果没有,是否有什么需要注意的地方。
EDIT: 澄清一下,我想转换的是日期格式,而不是日期本身。例如,调用 conversion_function('Y-m-d', 'MySQL')
将返回 %Y-%m-%d
,并呼吁 conversion_function('Y-m-d', 'MomentJS')
将返回 YYYY-MM-DD
是的,看到了。 https:/www.php.netmanualenfunction.checkdate.php
function validateDate($date, $format = 'Y-m-d H:i:s')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
var_dump(validateDate('2012-02-28', 'Y-m-d')); # true
最近,我不得不使用上面的API "类型 "验证器。运作良好