function TimestampAgoFormatter::settingsSummary

Same name in other branches
  1. 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampAgoFormatter::settingsSummary()
  2. 8.9.x core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampAgoFormatter::settingsSummary()
  3. 11.x core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampAgoFormatter::settingsSummary()

Overrides FormatterBase::settingsSummary

File

core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php, line 141

Class

TimestampAgoFormatter
Plugin implementation of the 'timestamp' formatter as time ago.

Namespace

Drupal\Core\Field\Plugin\Field\FieldFormatter

Code

public function settingsSummary() {
    $summary = parent::settingsSummary();
    $future_date = new DrupalDateTime('1 year 1 month 1 week 1 day 1 hour 1 minute 1 second');
    $past_date = new DrupalDateTime('-1 year -1 month -1 week -1 day -1 hour -1 minute -1 second');
    $granularity = $this->getSetting('granularity');
    $options = [
        'granularity' => $granularity,
        'return_as_object' => FALSE,
    ];
    $future_date_interval = new FormattableMarkup($this->getSetting('future_format'), [
        '@interval' => $this->dateFormatter
            ->formatTimeDiffUntil($future_date->getTimestamp(), $options),
    ]);
    $past_date_interval = new FormattableMarkup($this->getSetting('past_format'), [
        '@interval' => $this->dateFormatter
            ->formatTimeDiffSince($past_date->getTimestamp(), $options),
    ]);
    $summary[] = $this->t('Future date: %display', [
        '%display' => $future_date_interval,
    ]);
    $summary[] = $this->t('Past date: %display', [
        '%display' => $past_date_interval,
    ]);
    return $summary;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.