Datetime 如何在Drupal7中创建动态日期格式?

Datetime 如何在Drupal7中创建动态日期格式?,datetime,drupal,drupal-7,Datetime,Drupal,Drupal 7,我必须在我的日期格式中添加一个条件,以便在分钟数为00时它不会显示:00 例如(使用当前格式) 应该显示(我正在寻找的内容) 谢谢大家! 我已经使用field.api.php中的hook\u field\u attach\u preprocess\u alter钩子实现了这个解决方案 我们的应用程序中已经有一个名为“local”的模块,我可以将此代码添加到其中 /** * Implements hook_field_attach_preprocess_alter */ function lo

我必须在我的日期格式中添加一个条件,以便在分钟数为00时它不会显示:00

例如(使用当前格式)

应该显示(我正在寻找的内容)


谢谢大家!

我已经使用field.api.php中的hook\u field\u attach\u preprocess\u alter钩子实现了这个解决方案

我们的应用程序中已经有一个名为“local”的模块,我可以将此代码添加到其中

/**
 * Implements hook_field_attach_preprocess_alter
 */
function local_field_attach_preprocess_alter(&$variables, $context) {  
  global $language;

  foreach ($variables['content'] as $field_name => $field) {

    // remove minutes formating if at 00 on field type datestamp.
    if (isset($field['#field_type']) && $field['#field_type'] === 'datestamp') {
      $tmp_date = $variables['content'][$field_name][0]['#markup'];

      switch ($language->language) {
        case 'en':
          $variables['content'][$field_name][0]['#markup'] = str_replace(':00', '', $tmp_date);
          break;

        case 'fr':
          $variables['content'][$field_name][0]['#markup'] = str_replace('h 00', 'h', $tmp_date);
          break;

        default:
          break;
      }
    }
  }
}

可能重复感谢,但不是。您不能使用此方法根据输入值动态自定义输出。
Tuesday, January 24, 2017 - 9:15 am
Tuesday, January 24, 2017 - 9 am
/**
 * Implements hook_field_attach_preprocess_alter
 */
function local_field_attach_preprocess_alter(&$variables, $context) {  
  global $language;

  foreach ($variables['content'] as $field_name => $field) {

    // remove minutes formating if at 00 on field type datestamp.
    if (isset($field['#field_type']) && $field['#field_type'] === 'datestamp') {
      $tmp_date = $variables['content'][$field_name][0]['#markup'];

      switch ($language->language) {
        case 'en':
          $variables['content'][$field_name][0]['#markup'] = str_replace(':00', '', $tmp_date);
          break;

        case 'fr':
          $variables['content'][$field_name][0]['#markup'] = str_replace('h 00', 'h', $tmp_date);
          break;

        default:
          break;
      }
    }
  }
}