我写了一行来转换从视图中输入的日期,以便在数据库中转换为日期格式。但该功能不起作用(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
。这是怎么回事?脚本有什么问题?
如果有人可以帮我解决..
答案 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));