public static function localeDateFilter($date, $locale = 'nl', $dateType = 'medium', $timeType = 'none', $pattern = null)
    {
        $values = array(
            'none' => DateFormatter::NONE,
            'short' => DateFormatter::SHORT,
            'medium' => DateFormatter::MEDIUM,
            'long' => DateFormatter::LONG,
            'full' => DateFormatter::FULL,
        );

        if (is_null($pattern)) {
            $dateFormatter = DateFormatter::create(
                $locale,
                $values[$dateType],
                $values[$timeType], 'Europe/Brussels'
            );
        } else {
            $dateFormatter = DateFormatter::create(
                $locale,
                $values[$dateType],
                $values[$timeType], 'Europe/Brussels',
                DateFormatter::GREGORIAN,
                $pattern
            );
        }

        return $dateFormatter->format($date);
    }