Het is me nooit eerder opgevallen, maar nu ineens wel.
Als je de functie strftime gebruikt worden er bij bijv %A (1-31) %k (0-23) %l (1-12) een spatie vooraf toegevoegd bij een 'single digit'. Dit staat ook op php.net dus betreft geen bug, maar ik snap de reden hiervan niet? Ik zie rare manieren om dit weer te voorkomen, wat me ook niet de manier lijkt.
Als je dit gewoon in je HTML gebruikt valt de spatie weg, maar als je het, in mijn geval, in een title attribuut van een link gebruikt, zie je 't wel.
Voorbeeldje:
<a href="" title="vrijdag 7 februari 2020">vrijdag 7 februari 2020</a><br>
<a href="" title="zaterdag 8 februari 2020">zaterdag 8 februari 2020</a><br>
<a href="" title="zondag 9 februari 2020">zondag 9 februari 2020</a><br>
<a href="" title="maandag 10 februari 2020">maandag 10 februari 2020</a><br>
<a href="" title="dinsdag 11 februari 2020">dinsdag 11 februari 2020</a><br>
<a href="" title="woensdag 12 februari 2020">woensdag 12 februari 2020</a><br>
En als je de spatie weglaat:
vrijdag 7 februari 2020
zaterdag 8 februari 2020
zondag 9 februari 2020
maandag10 februari 2020
dinsdag11 februari 2020
woensdag12 februari 2020
Code die is gebruikt om te testen
<?php
setlocale(LC_TIME, "nl_NL");
for($i=0;$i<30;$i++) {
$date = strftime("%A %e %B %Y", (new \DateTime('2020-02-01'))->modify('+'.$i.' day')->getTimestamp());
echo '<a href="" title="' . $date . '">' . $date . '</a><br>'.PHP_EOL;
}
?>
Voornamelijk dus de vraag waarom dit bewust is gedaan. En twee of er een hele simpele fix voor is.