2016-02-25 32 views
1

{{node.field_date_evenement_news.und [0] .value2 |日期( 「米/ d/Y」,歐洲/巴黎「)}}drupal的8:組樹枝日期格式以輸出全天,月法語

輸出

2/22/2016 

我想它是

22 février 2016 
+1

是您的語言安裝正確設置? https://www.ostraining.com/blog/drupal/d8-multi-lingual/ – augusto

+1

謝謝。這對我來說無能爲力,因爲我爲該模塊顯示的內容是drupal外部的,並且由web服務提供 – Matoeil

回答

1

我創造我自己的嫩枝過濾解決這個問題。

您可以通過創建您自己的模塊來實現這一點,該模塊公開此篩選器

隨意重新使用它。

代碼

namespace Drupal\twig_extender\TwigExtension; 

class Dates extends \Twig_Extension { 

    /** 
    * List of all Twig functions 
    */ 
    public function getFilters() { 
     return [ 
      new \Twig_SimpleFilter('date_format', array($this, 'formatDate')), 
     ]; 
    } 

    /** 
    * Unique identifier for this Twig extension 
    */ 
    public function getName() { 
     return 'twig_extender.twig.dates'; 
    } 

    /* 
    Render a custom date format with Twig 
    Use the internal helper "format_date" to render the date using the current language for texts 
    */ 
    public static function formatDate($date, $format) { 
     if ($date_format = \DateTime::createFromFormat('Y-m-d', $date)) { 
      $timestmap = strtotime($date); 
     }elseif (is_a($date, 'Drupal\Core\Datetime\DrupalDateTime') || is_a($date, 'DateTime')){ 
      $timestmap = $date->getTimestamp(); 
     }else{ 
      $timestmap = $date; 
     } 
     return format_date($timestmap, "custom", $format); 
    } 

} 

使用

{{ my_unformatted_date|date_format('d M') }} 

這將導致以

01 DéC# In French 
01 DeC# In English 

提示

這與多形式,這種輸入日期過濾器的工作:

  • 日期時間
  • 時間戳
  • 的Drupal \核心\日期時間\ DrupalDateTime

希望這將有助於你的傢伙!

0

只是一個小的更新,format_date現在deprecieted,使用 return \Drupal::service('date.formatter')->format($timestamp, 'custom', $format);代替

相關問題