PHP: Datum Darstellung ändern

PlatonTux

PlatonTux

Jungspund
[gelöst] PHP: Datum Darstellung ändern

Guten Abend zusammen,

ich möchte einen bereits vorhandenen Datum nach meinen Vorstellungen formatieren. Soweit so gut - konkret geht es um eine Varibale ("$pubDate") wo das Datum folgendermaßen gespeichert wird:
Code:
Fri, 18 Jul 2008 14:12:06 GMT

Ich möchte diese Darstellung fürs bessere Verständnis kürzen, so das es wie folgt dargestellt werden soll:

aktuell
Code:
Heute um 20:13:58

nach einem Tag
Code:
Gestern um 20:13:58

und später so
Code:
Fr, 18.07.08, 20:13:58

Bevor ich mich nun großartig mit switch()-Abfragen, for-Schleifen und explode alles "eindeutsche", wollte ich um Rat fragen. Ob es auch einfacher, mit weniger Aufwand auch möglich ist.

Bedanke mich schon im Voraus für eure Hilfestellungen :))


Mit freundlichen Grüßen
PlatonTux ;)
 
Zuletzt bearbeitet:
PHP:
<?php
function nicedate($timestamp = NULL)
{
    if ($timestamp === NULL) {
        $timestamp = time();
    }
    
    if ($timestamp >= mktime(0, 0, 0) && $timestamp <= mktime(23, 59, 59)) {
        return strftime('Heute um %H:%M:%S', $timestamp);
    } elseif ($timestamp >= mktime(0, 0, 0, date('n'), date('j')-1) && $timestamp <= mktime(23, 59, 59, date('n'), date('j')-1)) {
        return strftime('Gestern um %H:%M:%S', $timestamp);
    } else {
        return strftime('%a, %d.%m.%y, %H:%M:%S', $timestamp);
    }
}

echo nicedate()."\n";
echo nicedate(mktime(13, 30, 00, date('n'), date('j')-1))."\n";
echo nicedate(mktime(10, 45, 23, 3, 1, 1999))."\n";
// siehe http://www.php.net/manual/en/function.strtotime.php
echo nicedate(strtotime('Fri, 18 Jul 2008 14:12:06 GMT'));
?>
Code:
[tilman@h2g2-42:~/tmp]% php temp.php
Heute um 21:39:33
Gestern um 13:30:00
Mon, 01.03.99, 10:45:23
Heute um 16:12:06

Grüße,

Tblue
 
Zuletzt bearbeitet:
Wow! Ihr seit einfach spitze !!!
Herzlichen Dank :)) :))

Wünsche noch eine schönen Abend/Nacht :-)
 
Wenn du z. B. Fr statt Fri willst, kannst du noch ein
PHP:
setlocale(LC_TIME, 'de_DE');
an den Skriptanfang setzen.

Ansonsten: Kein Problem und gern geschehen. ;)
 
Wenn du z. B. Fr statt Fri willst, kannst du noch ein
PHP:
setlocale(LC_TIME, 'de_DE');
an den Skriptanfang setzen.

Ansonsten: Kein Problem und gern geschehen. ;)


Ist mir gar nicht aufgefallen, mit den englischen Bezeichnungen :D

Ich wusste es, auf dieses Forum kann man sich verlassen - Dankeschön :))
 
Zurück
Oben