更改格式日期

时间:2013-02-13 13:44:42

标签: php date

我的日期格式为“m-Y-d”。如何修改此日期以格式化“Y-d-m”?为此,最佳功能应该是我可以添加旧格式和新格式的功能,但我该如何制作呢?

例如我有

$date = '01-2013-13'; // "m-Y-d"

我想收到:

$newDate = '2013-13-01'; // "Y-d-m"

4 个答案:

答案 0 :(得分:6)

请参阅DateTime::createFromFormat()DateTime::format()

$date = DateTime::createFromFormat('m-Y-d', '01-2013-13');
echo $date->format('Y-m-d');

答案 1 :(得分:0)

PHP无法使用strtotime()解析格式。你必须做这样的事情:

function reformat($old_date)
{
    $parts = explode('-', $old_date);
    return $parts[1].'-'.$parts[2].'-'.$parts[0];
}

然后使用:

调用它
$new_format = reformat($date);

或者,您可以使用DateTime::createFromFormat()

function reformat($old_date)
{
    $new_date = DateTime::createFromFormat('m-Y-d', $old_date);
    return $new_date->format('Y-m-d');
}

答案 2 :(得分:0)

您可以使用DateTime类,例如:

$date = new DateTime('01-2013-13');

然后使用format()方法,例如:

$date->format('Y-m-d');

更多信息: http://www.php.net/manual/en/datetime.format.php

答案 3 :(得分:0)

要创建,您需要使用:

$newDate = date('Y-d-m');

您可以找到更多信息here