检查日期的格式在PHP

问题描述:

我输入的日期,要求用户按以下格式输入日期:DD-MM-YYYY - 这是再转换为YYYY-MM-DD检查日期的格式在PHP

我想要执行检查以查看他们是否输入了正确的格式。也就是说,如果输入以外DD-MM-YYYY别的就应该产生错误消息

即时通讯目前使用

    list($y, $m, $d) = explode('-', $date); 

        if(checkdate($m, $d, $y)){ 

        }else{ 
         die("The date was in the wrong format"); 
        } 

我试图把下面这个if语句中的代码如下,以及根本不包括其他 - 但它不起作用。关于我可以尝试的任何建议?三江源

你要求用户输入DD-MM-YYYY,但你的电话list()预计explode()顺序YYYY-MM-DD

更新你的代码用于:

list($d, $m, $y) = explode('-', $date); 
+0

斑斑点点谢谢你 – 2011-05-31 20:50:19

只是扭转声明:

list($d, $m, $y) = explode('-', $date); 
if(!checkdate($m, $d, $y)){ 
    die("The date was in the wrong format"); 
} 
// your code here 

尝试这些

http://roshanbh.com.np/2008/05/date-format-validation-php.html

http://www.plus2net.com/php_tutorial/date-validation.php

更好的首先在客户端使用js进行验证,然后您可以执行php验证。

为什么页面应该提交

$in = '31-05-2011'; 

$ts = date_create_from_format('d-m-Y', $in); 

$out = date_format($ts, 'd-m-Y'); 

if ($in === $out) { 
    ... it's correctly formatted 
} 

注意,这不会发现错误,如说'03 -04-11' 于2011年3月4日,当用户的真正含义是4月11日,2003年