Neues Datumsformat und Typ (programmatisch) hinzufügen

Per UI lassen sich neue Datums- und Zeitformate und Typen recht schnell anlegen. Allerdings ist dann nicht sichergestellt, das die Typen immer existieren (wenn man mit mehreren Umgebungen [Development, Staging, Production] arbeitet). Views z.B. nutzt dann ein Format, was so eigentlich nicht existiert und wenn man dann den View bearbeitet möchtet, verstellt das Datumsformat zu irgendeinem anderen.

Damit das nicht passiert, können zusätzliche Datumstypen und -Formate im Quelltext (via hooks) definiert werden.

Neuen Datumstypen/Zeittypen anlegen

/**
 * Implements hook_date_format_types().
 */
function MYMODULE_date_format_types() {
  return array(
    'only_date' => t('Only Date'),
    'only_time' => t('Only Time'),
  );
}

Neues Datumsformat/Zeitformat anlegen

/**
 * Implements hook_date_formats().
 */
function MYMODULE_date_formats() {
  return array(
    array(
      'type' => 'only_date',
      'format' => 'd.m.Y',
    ),
    array(
      'type' => 'only_time',
      'format' => 'H:i',
      'locales' => array('de', 'en'),
    ),
  );
}