[英]How to get days difference in twig
如何從當天獲得天差異。
tweetedAt:“2015-02-22 09:56:42”。
枝條
{% for key,value in data.about %}
{% set tweets_date=(value.tweetedAt|date).date("now").format('%a') %}
{% endfor %}
我也試過了
{% set dd='now'|date('d-m-Y') %}
{% set tweets_date=(value.tweetedAt|date).dd.format('%a') %}
最后我試了但是給出了錯誤:
散列鍵必須是帶引號的字符串,數字,名稱或括在括號中的表達式(值為“{”的意外標記“標點符號”)
{% set difference = {{ date("m/d/Y") }}.diff(date(value.tweetedAt)) %}
{% set leftDays = difference.days %}
錯誤:
<span class="small light_grey">{{tweets_date}}</span>
Impossible to invoke a method ("date") on a string variable ("June 6, 2015 01:06") in AcmeBundle
tweet_date
獲得tweet_date
形式。 通過composer更新了我的項目安裝twig/extensions
user@intermsh-OptiPlex-380:~$ composer require twig/extensions
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/usr/local/bin/composer self-update" to get the latest version.
Using version ~1.2 for twig/extensions
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing twig/twig (v1.18.2)
Downloading: 100%
- Installing twig/extensions (v1.2.0)
Downloading: 100%
Downloading: 100%
twig/extensions suggests installing symfony/translation (Allow the time_diff output to be translated)
Writing lock file
Generating autoload files
我嘗試了這個代碼,它的工作原理。
{% set difference = date(value.tweetedAt|date('Y/m/d')).diff(date('now'|date('Y/m/d'))) %}
{% set leftDays = difference.days %}
您需要在對象上使用過濾器而非方法。 你需要使用time_diff
過濾器:
{%set tweets_date=value.tweetedAt|time_diff %}
要使其工作,您需要首先通過composer安裝twig-extensions:
composer require twig/extensions
然后將其包含在具有適當標記的服務容器中:
services:
app.twig.extension.date:
class: Twig_Extensions_Extension_Date
tags:
- { name: 'twig.extension' }
如果日期來自實體,您可以:
{{ entity.days }}
在你的實體中只需實現:
public function getDays()
{
return $this->date->diff(new DateTime)->format('%a');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.