-1

我有格式为“mYd”的日期。如何修改此日期以格式化“Ydm”?为此,最好的功能应该是我可以添加旧格式和新格式的功能,但我该怎么做呢?

例如我有

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

我想收到:

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

4 回答 4

6

DateTime::createFromFormat()DateTime::format()

$date = DateTime::createFromFormat('m-Y-d', '01-2013-13');
echo $date->format('Y-m-d');
于 2013-02-13T13:47:41.827 回答
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');
}
于 2013-02-13T13:46:49.313 回答
0

您可以使用DateTime该类,例如:

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

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

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

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

于 2013-02-13T13:47:42.230 回答
0

要创建您需要使用:

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

您可以在这里找到更多信息!

于 2013-02-13T13:53:46.123 回答