2015-06-15 7 views
7
  • वर्तमान दिनों से दिन का अंतर कैसे प्राप्त करें, में दिन अंतर कैसे प्राप्त करें।ट्विग

  • ट्वीट किया गया: "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') %} 

अंत में मैंने कोशिश की लेकिन इसके देने त्रुटि:

A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{"

{% set difference = {{ date("m/d/Y") }}.diff(date(value.tweetedAt)) %} 
{% set leftDays = difference.days %} 

एर ROR:

<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 से diffrence मिलता है।

संगीतकार

[email protected]:~$ 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 
+0

क्यों नहीं यह पीठ के अंत में गणना? यह आपको अधिक लचीलापन की अनुमति देगा और आप इसे टेम्पलेट को छूए बिना बाद में आसानी से बदल सकते हैं। –

+0

मुझे लगता है कि सिम्फनी दिनांक भिन्नता हल नहीं कर सकता – afeef

+0

ठीक है, आपको वास्तव में सिम्फनी 2 की कस्टम कार्यक्षमता की आवश्यकता नहीं है - आप इसे शुद्ध PHP के साथ कर सकते हैं। इस समाधान पर एक नज़र डालें http://stackoverflow.com/questions/1416697/converting-timestamp-to-time-ago-in-php-eg-1-day-ago-2-days-ago –

उत्तर

9

के माध्यम से अपने प्रोजेक्ट twig/extensions स्थापित करने अपडेट किया गया आप फिल्टर अपने वस्तुओं पर नहीं तरीकों का उपयोग की जरूरत है।

{%set tweets_date=value.tweetedAt|time_diff %} 

यह आप पहली बार संगीतकार के माध्यम से टहनी-एक्सटेंशन स्थापित की जरूरत है काम करने के लिए:: और आप time_diff फिल्टर का उपयोग करने की आवश्यकता है

composer require twig/extensions 

और उसके बाद उपयुक्त टैग के साथ सेवा कंटेनर में शामिल हैं:

services: 
    app.twig.extension.date: 
     class:  Twig_Extensions_Extension_Date 
     tags: 
      - { name: 'twig.extension' } 
+0

फ़िल्टर "time_diff" बंडल त्रुटि – afeef

+0

में मौजूद नहीं है, मेरे पास सिम्फनी के दस्तावेज़ों का संदर्भ है: http://twig.sensiolabs.org/doc/extensions/date.html – afeef

+0

जब मैं $ twig-> addExtension (नया Twig_Extensions_Extension_Date) का उपयोग करता हूं()); नियंत्रक में यह 503 त्रुटि – afeef

9

मैंने इस कोड को आजमाया और यह काम करता है।

{{ entity.days }} 

और अपने इकाई में बस को लागू:

{% set difference = date(value.tweetedAt|date('Y/m/d')).diff(date('now'|date('Y/m/d'))) %} 
{% set leftDays = difference.days %} 
2

तारीख एक इकाई से आता है, तो आप बस कर सकते हैं

public function getDays() 
{ 
    return $this->date->diff(new DateTime)->format('%a'); 
}