strtotime()函数在codeigniter控制器中不起作用

时间:2014-01-24 06:17:08

标签: php codeigniter strtotime

我写了一行来转换从视图中输入的日期,以便在数据库中转换为日期格式。但该功能不起作用(PHP版本5.4)。这是代码;

$chq_date = $_POST['cheque_date'];
echo $date = date("Y-m-d", strtotime($chq_date));    

$chq_date获得的值为24/01/2014,但$date显示结果1970-01-01。这是怎么回事?脚本有什么问题?
如果有人可以帮我解决..

5 个答案:

答案 0 :(得分:2)

您需要将“/”替换为“ - ”才能获得正确的格式

$chq_date = str_replace('/', '-', $chq_date );
echo $date = date("Y-m-d", strtotime($chq_date));  

答案 1 :(得分:0)

将接受的日期格式更改为:( $ _POST ['cheque_date']的值)

24-01-2014

删除 / 并在日期中添加 - ...然后您将获得正确的结果。

答案 2 :(得分:0)

你可以尝试一下。

$chq_date = str_replace('/', '-', $_POST['cheque_date'];);
echo $date = date('Y-m-d', strtotime($chq_date));

答案 3 :(得分:0)

$chq_date = str_replace("/","-","24/01/2014");
echo $date = date("Y-m-d", strtotime($chq_date)); 

这是使用 strtotime()的格式。因此,对于您的示例,您可以使用以下内容: -

$chq_date = str_replace("/","-",$_POST['cheque_date']);
echo $date = date("Y-m-d", strtotime($chq_date)); 

如果 $ _ POST ['cheque_date'] 中的分隔符为 / ,则使用正确的分隔符。有关 str_replace()的详细信息,请查看here

答案 4 :(得分:0)

您的授权日期格式为DD/MM/YYYY 它必须为MM/DD/YYYY

$chq_date = "11/13/14";
echo date("jS F, Y", strtotime($chq_date));