fix: use IntlDateFormatter instead of strftime

This CL introduces breaking changes, since it uses non-constant static
variable initializers, which are only available since PHP 8.3. Thus, the
codebase now only supports PHP 8.3 (and the docs have been modified to
reflect this and the fact that the Intl extension is necessary).

Fixed: hores:2
GitOrigin-RevId: 9a91312c96b90fa4c9ae5fc5f6e972fd95c9cd57
diff --git a/src/inc/registryView.php b/src/inc/registryView.php
index f068558..c0c84f6 100644
--- a/src/inc/registryView.php
+++ b/src/inc/registryView.php
@@ -84,7 +84,7 @@
               <?php
             }
             ?>
-            <td class="can-strike"><?=strftime("%d %b %Y", $record["day"])?></td>
+            <td class="can-strike"><?=date::getShortDate($record["day"])?></td>
             <td class="centered can-strike"><?=schedules::sec2time($record["beginswork"])." - ".schedules::sec2time($record["endswork"])?></td>
             <td class="centered can-strike"><?=(intervals::measure($breakfastInt) == 0 ? "-" : ($isForWorker ? export::sec2hours(intervals::measure($breakfastInt)) : schedules::sec2time($record["beginsbreakfast"])." - ".schedules::sec2time($record["endsbreakfast"])))?></td>
             <td class="centered can-strike"><?=(intervals::measure($lunchInt) == 0 ? "-" : ($isForWorker ? export::sec2hours(intervals::measure($lunchInt)) : schedules::sec2time($record["beginslunch"])." - ".schedules::sec2time($record["endslunch"])))?></td>