php createFromFormat因datepicker而失败

时间:2015-07-18 08:11:51

标签: php datepicker

我的表单中有以下日期选择器:

$( '.datepicker' ).datepicker({ dateFormat: 'dd-mm-yy' });

然后在我的PHP代码中处理我拥有的表单:

$campaignDate = DateTime::createFromFormat('d-m-y', $formdata['Campaign']['campaign_date']
        );

        if ($campaignDate) {
            $campaignUnixDate = $campaignDate->getTimestamp();
        } else {
            $response = array(
                'status' => 'FAILED',
                'message' => 'Failed to create Campaign Date',
                'redirect' => ''
            );
            echo json_encode($response);
            return;
        }

$ campaignDate似乎总是假的,我假设我的createfrom有错误的格式,但我无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

解决方案

使用大写Y代替小写y

$campaignDate = DateTime::createFromFormat(
   'd-m-Y', 
   $formdata['Campaign']['campaign_date']
);

说明

日期格式不匹配

$( '.datepicker' ).datepicker({ dateFormat: 'dd-mm-yy' });

将返回

  

18-07-2015

,而

$campaignDate = DateTime::createFromFormat(
   'd-m-y', 
   $formdata['Campaign']['campaign_date']
);

使用格式

  

18-07-15

来自PHP文档:

  
    

<强>ý
    一年的完整数字表示,4位数     例子:1999年或2003年

         

<强>ý
    一年的两位数表示(假设在1970-2069范围内,包括在内)     示例:99或03(分别将解释为1999年和2003年)

  
     

http://php.net/manual/en/datetime.createfromformat.php

相关问题