10
  • 現在の日との差を取得する方法。

  • ツイート: "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数日前のフォームから差分を取得する方法。

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
4

3 に答える 3

13

このコードを試してみましたが、動作します。

{% set difference = date(value.tweetedAt|date('Y/m/d')).diff(date('now'|date('Y/m/d'))) %}
{% set leftDays = difference.days %}
于 2015-09-03T01:54:06.943 に答える
9

オブジェクトに対してメソッドではなくフィルターを使用する必要があります。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' }
于 2015-06-15T07:38:44.630 に答える
3

日付がエンティティからのものである場合は、次のことができます。

{{ entity.days }}

そして、あなたのエンティティで実装するだけです:

public function getDays()
{
    return $this->date->diff(new DateTime)->format('%a');
}
于 2016-09-02T00:18:16.017 に答える