使用PHP重新格式化日期

时间:2011-03-23 19:03:46

标签: php datetime date

我在变量中有以下值:26/03/2011

我希望以下列格式获取:2011-03-26

我如何实现这一目标?

非常感谢

3 个答案:

答案 0 :(得分:4)

试试这个:

list($d, $m, $y) = explode("/", "26/03/2011");
echo "$y-$m-$d";

答案 1 :(得分:3)

虽然有很多方法可以做到这一点,但我认为最容易理解并适用于所有日期转换的是:

$date = date_create_from_format('d/n/Y', $date)->format('Y-n-d');

这是明确的,你永远不会怀疑m / d或d / m等。

答案 2 :(得分:0)

使用date()功能并结合mktime()可能是个好主意:

$date = explode('/', '26/03/2011');

echo date('Y-m-d', mktime(0,0,0,$date[1],$date[0],$date[2]));

这可能是一个好主意的原因是,如果您想要以不同(更复杂)的格式格式化日期,比如“2011年3月26日”,您可以这样做:

$date = explode('/', '26/03/2011');

echo date('F jS, Y', mktime(0,0,0,$date[1],$date[0],$date[2]));