これはあなたのために働くかもしれない拡張クラスです:
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を出力します