如何将日期格式d / m / Y更改为Y-m-d PHP

时间:2014-01-01 12:09:10

标签: php

我想在客户端保留日期格式d / m / Y(24/12/2013)(用户从JQuery日期选择器以该格式输入日期)。但在服务器端我将其转换为Y-m-d(2013-12-24)格式。

为此,我以这种方式编写代码

$brithdate = explode('/', $_POST['brithday']);
$brithdateFormated = $brithdate[2] . "-" . $brithdate[1] . "-" . $brithdate[0];

这是对的吗?还是有任何简单的方法来做到这一点

3 个答案:

答案 0 :(得分:24)

在处理日期和时间时使用DateTime对象。您可以使用DateTime::createFromFormat()解析日期字符串,然后使用DateTime::format()按照您希望的方式对其进行格式化:

$str = '24/12/2013';
$date = DateTime::createFromFormat('d/m/Y', $str);
echo $date->format('Y-m-d'); // => 2013-12-24

有关可用格式选项的列表,请参阅documentation

答案 1 :(得分:3)

试试这个

$birthdate= strtotime($_POST['brithday']);
$brithdateFormated = date("d/m/Y",$birthdate);

答案 2 :(得分:0)

这对我有用。

$start_date='04/05/2018';
$convertedDate= DateTime::createFromFormat('d/m/Y', $start_date)->format('Y-m-d');
  

注意:First参数应与带有'/'的$ start_date相同。如果你在那里放' - ',那么它将无法执行正确的转换。