我的日期格式为“m-Y-d”。如何修改此日期以格式化“Y-d-m”?为此,最佳功能应该是我可以添加旧格式和新格式的功能,但我该如何制作呢?
例如我有
$date = '01-2013-13'; // "m-Y-d"
我想收到:
$newDate = '2013-13-01'; // "Y-d-m"
答案 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');
答案 3 :(得分:0)