2016-04-27 14 views
0

目前我有這個代碼(見下文)。我很確定我需要調整數組或可能在某處添加「d」。通常我只在前端工作,所以我有點在這裏進入未知的水域。元素會告訴我們剩下多少天,但它會以周而不是天爲單位輸出。我希望它在幾天內只有

我認爲需要調整的部分是在「將未來日期格式化爲區間」部分。

 if ($element['#field_name'] == 'field_test_dates') { 
      foreach (element_children($element['#items']) as $key) { 
      $item = $element['#items'][$key]; 
      $close_date = new DateObject($item['value2'], $item['timezone']); 
      $start_date = new DateObject($item['value'], $item['timezone']); 

      $element = 'time'; 
      $attributes = array(
       'class' => 'date-display-single', 
       'property' => 'dc:date', 
       'datatype' => 'xsd:dateTime', 
       'datetime' => $close_date->format('m/d/Y H:i'), 
      ); 

      if (REQUEST_TIME < $start_date->format('U')) { 
       // Display future start date as "COMING SOON" 
       $text = t('COMING SOON'); 
      } 
      else { 
       if (REQUEST_TIME >= $close_date->format('U')) { 
       // Always display past dates as "CLOSED". 
       $text = t('CLOSED'); 
       } 
       else { 
      // Format future dates as intervals. 
       $text = t('ENDS IN @days', array(
        '@days' => strtoupper(date_format_interval($close_date, 1)), 
       )); 
       } 
      } 

      $vars['items'][$key]['#markup'] = "<{$element}" .drupal_attributes($attributes) . ">{$text}</{$element}>"; 
      } 
     } 
+1

我幾乎可以肯定這是PHP,如果是,什麼是'date_format_interval'?我不記得那功能甚至存在... – 2016-04-27 05:40:24

+0

嗨LFlare,謝謝你的回答。這是PHP,但date_format_interval是一個Drupal 7的東西。 – Koichi

+1

哈哈哈哈,對不起,不能幫助,我是嚴格的香草,在代碼和母雞*愛 – 2016-04-27 06:00:18

回答

0

有了一點研究,你可以找到date_format_interval()

http://www.drupalcontrib.org/api/drupal/contributions!date!date_api!date_api.module/function/date_format_interval/7

呼喚format_interval()

你傳遞給 date_format_interval()

http://www.drupalcontrib.org/api/drupal/drupal!includes!common.inc/function/format_interval/7

「粒度」 參數被進一步傳遞到format_interval()

檢查第二個鏈接,瞭解如何使用該參數以及應該傳遞什麼值。

相關問題