Php 创建自定义日期格式
我想创建自己的Php 创建自定义日期格式,php,symfony,datetime,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'; b
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
,但是如何转换呢 您使用的是日期,因此$date
应该是UNIX时间戳,而不是对象(DateTime)
不要两者都转换。您已经有了一个DateTime对象,只是它自己已经提供的格式化方法:
另外,使用一个简单的
$newMonth=strftime('%B',$date->format('U'))可以避免整个switch语句。
$day = date('d', $date); // your bad version
$day = $date->format('d'); // use this instead.