创建自定义日期格式

时间:2014-03-17 16:57:14

标签: php symfony datetime

我想创建自己的DateTime格式。我试过了下一个:

function getSpanishDate(\DateTime $date)
{
    $day = date('d', $date); 
    $month = date('n', $date); 
    $year = date('Y', $date); 
    switch($month)
    {
        case 1:
            $newMonth = 'Enero';
            break;
        case 2:
            $newMonth = 'Febrero';
            break;
        case 3:
            $newMonth = 'Marzo';
            break;
        case 4:
            $newMonth = 'Abril';
            break;
        case 5:
            $newMonth = 'Mayo';
            break;
        case 6:
            $newMonth = 'Junio';
            break;
        case 7:
            $newMonth = 'Julio';
            break;
        case 8:
            $newMonth = 'Agosto';
            break;
        case 9:
            $newMonth = 'Septiembre';
            break;
        case 10:
            $newMonth = 'Octubre';
            break;
        case 11:
            $newMonth = 'Noviembre';
            break;
        case 12:
            $newMonth = 'Diciembre';
            break;                  
    }

    return $day . ' de ' . $newMonth . ' de ' . $year;
} 

但是$date格式出了问题,因为我收到了这个警告:

警告:date()要求参数2为长,对象为

所以我应该将DateTime对象转换为long,但是如何?

2 个答案:

答案 0 :(得分:1)

不要转换。您已经拥有了一个DateTime对象,只是它自己已经提供的格式化方法:http://php.net/manual/en/datetime.format.php

$day = date('d', $date); // your bad version
$day = $date->format('d'); // use this instead.

答案 1 :(得分:0)

您正在使用日期,因此$date应该是UNIX时间戳而不是对象(DateTime)。

http://php.net/manual/en/function.date.php