{{ comments.created|date('l, F j, Y') }}
Thursday, July 25, 2013
显示默认语言环境英语。我们如何以其他语言格式显示。德语,土耳其语等。
答案 0 :(得分:0)
使用以下代码片段创建您自己的 Twig 函数 locale_date
。它从 Symfonys Request
对象读取当前语言环境并使用
PHPs IntlDateFormatter
格式化给定的日期。
<?php
namespace App\Twig;
use Symfony\Component\HttpFoundation\RequestStack;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use Twig\TwigFunction;
class LocaleDateExtension extends AbstractExtension {
private $requestStack;
public function __construct(RequestStack $requestStack) {
$this->requestStack = $requestStack;
}
public function getFilters(): array {
return [
new TwigFilter('locale_date', [$this, 'localeDate']),
];
}
public function getFunctions(): array {
return [
new TwigFunction('locale_date', [$this, 'localeDate']),
];
}
public function localeDate(\DateTimeInterface $date, $format) {
$formatter = new \IntlDateFormatter(
$this->requestStack->getCurrentRequest()->getLocale(),
\IntlDateFormatter::NONE,
\IntlDateFormatter::NONE
);
$formatter->setPattern($format);
return $formatter->format($date);
}
}
在 Twig 中的使用:
{{ blog.createdAt|locale_date('d. MMMM yyyy') }}
Twig 变量必须是一个 DateTime
对象。
答案 1 :(得分:-2)
只需设置所需的格式
即可{{ comments.created|date('d.m.Y') }}