function template_preprocess_time in Drupal 9
Same name and namespace in other branches
- 8 core/includes/theme.inc \template_preprocess_time()
Prepares variables for time templates.
Default template: time.html.twig.
Parameters
array $variables: An associative array possibly containing:
- attributes['timestamp']:
- timestamp:
- text:
File
- core/
includes/ theme.inc, line 517 - The theme system, which controls the output of Drupal.
Code
function template_preprocess_time(&$variables) {
/** @var \Drupal\Core\Datetime\DateFormatterInterface $date_formatter */
$date_formatter = \Drupal::service('date.formatter');
// Format the 'datetime' attribute based on the timestamp.
// @see http://www.w3.org/TR/html5-author/the-time-element.html#attr-time-datetime
if (!isset($variables['attributes']['datetime']) && isset($variables['timestamp'])) {
$variables['attributes']['datetime'] = $date_formatter
->format($variables['timestamp'], 'html_datetime', '', 'UTC');
}
// If no text was provided, try to auto-generate it.
if (!isset($variables['text'])) {
// Format and use a human-readable version of the timestamp, if any.
if (isset($variables['timestamp'])) {
$variables['text'] = $date_formatter
->format($variables['timestamp']);
}
elseif (isset($variables['attributes']['datetime'])) {
$variables['text'] = $variables['attributes']['datetime'];
}
}
}