diff --git a/lib/models/CourseDate.php b/lib/models/CourseDate.php
index f33332e2383e441498a019057631abb0cbd67461..82dd692eed58a3d9c9facf5fed35410308cd8110 100644
--- a/lib/models/CourseDate.php
+++ b/lib/models/CourseDate.php
@@ -331,7 +331,7 @@ class CourseDate extends SimpleORMap implements PrivacyObject, Event
             $string = sprintf(
                 '%1$s, %2$s - %3$s',
                 $day_of_week,
-                date('d.m.Y H:i', $this->date),
+                date('d.m.y, H:i', $this->date),
                 $formatted_end
             );
         }
diff --git a/lib/models/CourseExDate.php b/lib/models/CourseExDate.php
index eb0f90a8e10c072e43f0d526039fe5d0c5553632..ec6e312d7787eafd668223b337552cf5084cde7c 100644
--- a/lib/models/CourseExDate.php
+++ b/lib/models/CourseExDate.php
@@ -135,17 +135,36 @@ class CourseExDate extends SimpleORMap implements PrivacyObject, Event
             return '';
         }
 
-        $latter_template = $format === 'verbose'
-                         ? _('%R Uhr')
-                         : '%R';
-
         if (($this->end_time - $this->date) / 60 / 60 > 23) {
-            return strftime('%a., %x' . ' (' . _('ganztägig') . ')' , $this->date) . " (" . _("fällt aus") . ")";
+            $date_string = studip_interpolate(
+                $format === 'verbose'
+                    ? _('%{weekday}, %{date}, %{start} - %{end} Uhr (ganztägig, fällt aus)')
+                    : _('%{weekday}, %{date}, %{start} - %{end} (ganztägig, fällt aus)')
+                ,
+                [
+                    'weekday' => getWeekday(date('N', $this->date)),
+                    'date'    => date('d.m.y', $this->date),
+                    'start'   => date('H:i', $this->date),
+                    'end'     => date('H:i', $this->end_time),
+                ]
+            );
+            return $date_string;
         }
 
-        return strftime('%a., %x, %R', $this->date) . ' - '
-             . strftime($latter_template, $this->end_time)
-             . ' (' . _('fällt aus') . ')';
+        $date_string = studip_interpolate(
+            $format === 'verbose'
+                ? _('%{weekday}, %{date}, %{start} - %{end} Uhr (fällt aus)')
+                : _('%{weekday}, %{date}, %{start} - %{end} (fällt aus)')
+            ,
+            [
+                'weekday' => getWeekday(date('N', $this->date)),
+                'date'    => date('d.m.y', $this->date),
+                'start'   => date('H:i', $this->date),
+                'end'     => date('H:i', $this->end_time),
+            ]
+        );
+
+        return $date_string;
     }
 
     /**
diff --git a/lib/models/SeminarCycleDate.php b/lib/models/SeminarCycleDate.php
index 9a922e99360e299b75de12772f318775efc81056..74b0c78ed99f67d1af80ba14e47a5073757f6823 100644
--- a/lib/models/SeminarCycleDate.php
+++ b/lib/models/SeminarCycleDate.php
@@ -253,7 +253,7 @@ class SeminarCycleDate extends SimpleORMap
                 }
                 $first_date = $this->getFirstDate();
                 if ($first_date) {
-                    $parameters['start_date'] = date('d.m.Y', $first_date->date);
+                    $parameters['start_date'] = date('d.m.y', $first_date->date);
                 }
                 if ($room && $first_date) {
                     $text = _('%{weekday}, %{beginning} - %{end}, %{interval} (ab dem %{start_date} im Raum %{room_name})');
diff --git a/templates/dates/course_date_list.php b/templates/dates/course_date_list.php
index 4fbc34f025db5d84f0d8a3e977764fb49a822b6b..8fdcd6903ca8da36d8d6126811aa193bc0c174e2 100644
--- a/templates/dates/course_date_list.php
+++ b/templates/dates/course_date_list.php
@@ -10,7 +10,7 @@
  */
 ?>
 <? if (!$collection->isEmpty()) : ?>
-    <ul>
+    <ul class="list-unstyled">
         <? foreach ($collection->getRegularDates() as $regular_date) : ?>
             <li><?= $regular_date->toString('long-start') ?></li>
         <? endforeach ?>