这是一个可能适合您的扩展类:
class MongoDateExtension extends \Twig_Extension
{
/**
* @inheritdoc
*/
public function getName()
{
return 'mongoDate_extension';
}
public function getFilters()
{
return array(
new \Twig_SimpleFilter('convertMongoDate', array($this, 'convertMongoDateFilter')),
);
}
public function convertMongoDateFilter(\MongoDate $mongoDate)
{
return new \DateTime('@' . $mongoDate->sec);
}
}
然后通过将以下代码段添加到您的 services.xml 中,将该类注册到您的依赖项注入容器中。考虑到您必须调整示例中的类路径。
<service id="twig.extension.mongo_date"
class="Path\To\Your\Bundle\Twig\Extension\MongoDateExtension">
<tag name="twig.extension"/>
</service>
该扩展将 mongo 日期转换为 php \DateTime 对象。它将以秒的精度执行转换,因此如果您还需要微秒,则需要调整扩展。
最后在你的树枝模板中,你可以使用树枝日期格式扩展:
{{ sampleDate|convertMongoDate|date('Y-m-d') }}
这将打印2013-11-05