drupal 8 date formater service

To format dates in Drupal 8, you can use the Date Formatter service. This service is provided by the Drupal\Core\Datetime\DateFormatter class. It allows you to format dates according to different patterns and locales.

To use the Date Formatter service, you first need to inject it into your class or function. Here's an example of how you can do that:

use Drupal\Core\Datetime\DateFormatterInterface;

class MyCustomClass {
  protected $dateFormatter;

  public function __construct(DateFormatterInterface $dateFormatter) {
    $this->dateFormatter = $dateFormatter;

  public function formatMyDate($timestamp) {
    // Format the date using the Date Formatter service.
    $formattedDate = $this->dateFormatter->format($timestamp, 'custom', 'Y-m-d');

    return $formattedDate;

In this example, we inject the DateFormatterInterface into our class's constructor. Then, we can use the format() method of the DateFormatter service to format the date. The format() method takes three parameters:

  1. The timestamp of the date you want to format.
  2. The format type, which can be one of the predefined format types provided by Drupal, such as 'short', 'medium', 'long', or 'custom'.
  3. The locale code, which specifies the language and region settings for formatting the date. You can pass 'en' for English or other locale codes supported by Drupal.

In the example above, we use the 'custom' format type and specify the format pattern as 'Y-m-d', which will format the date as 'YYYY-MM-DD'. You can use different format patterns depending on your requirements.

Remember to adjust the code based on your specific needs and where you want to use the Date Formatter service.