Aufgabe Nr. 3: Darstellung des Datums ändern

Momentan sieht man z. B. „July 20, 2013“ als Erstellungsdatum eines Blog-Artikels. Ich möchte es jedoch gern im Format „Samstag, 20. Juli 2013, 22:24 Uhr“ anzeigen lassen.

In den Options des Admin-Panels ist standardmäßig F d, Y eingetragen. Das bedeutet:

  • F = Monat als ganzes Wort, wie January oder March,
  • d = Tag des Monats, 2-stellig mit führender Null und
  • Y = Vierstellige Jahreszahl.

Ich versuche es daher gemäß date zunächst einmal mit: l, d. F Y, H:i

Gar nicht mal schlecht! Allerdings sind Wochentag und Monat in englischer Sprache („Saturday, 20. July 2013, 22:24“). Mit date() in Zeile 44 der Datei includes/miniblog.php werde ich da nicht weiterkommen. Ich muss auf strftime umsteigen.

Ich schreibe also zuerst setlocale(LC_TIME, 'de_DE'); in eine neue Zeile der Datei includes/config.php und ersetze anschließend Zeile 44 der Datei includes/miniblog.php mit:

$postdate$' => strftime($config['date-format'], $posts['date']),

Zuletzt setze ich das „Date format“ in den Options des Admin-Panels auf %A, %d. %B %Y, %H:%M Uhr. Et voilà!

Als Perfektionist ändere ich dann selbstverständlich noch die Datenbanktabelle miniblog_config.

Aus:

Date format as per the PHP date function <a href="http://www.php.net/date">here</a>

wird:

Date format as per the PHP strftime function <a href="http://www.php.net/strftime">here</a>

Oha! Eine unerwünschte (aber eigentlich auch logische) Nebenwirkung: Im Admin-Panel ist die Datumsanzeige vermurkst, denn in der Datei adm/index.php wird in Zeile 22 ebenfalls date verwendet.

Aus:

<td>" . date($config['date-format'], $row['date']) . "</td>

wird:

<td>" . strftime($config['date-format'], $row['date']) . "</td>

Noch mehr date kommt im gesamten miniblog-Quellcode dann aber doch nicht vor. Schwein gehabt!

Schlagworte: