Willkommen in der Webstatt
User-1 am 23.03.09 14:20

hallo,

ich bin auf der suche nach einer funktion die "lesbare daten" erstellt.
dabei geht es um folgendes: man füttert sie mit daten datetime-format, also zb 2009-03-22 21:17:06 und erhält als ausgabe sowas wie: "vor 5 minuten", "vor 1 stunde", "gestern", "letzte woche", "letzten Monat", vor einem Jahr" ect, wie zum beispiel bei last.fm oder facebook.
hat jemand zufällig sowas schonmal gemacht?

netcup.de Warum gibt es hier Werbung?
User-2 am 23.03.09 19:55

/**
* Ausgabe einer Zeitangabe in der Form vor x Stunden/Tage usw.
*
* @param int $timestamp
* @return string
*/
function format_datesince($timestamp) {

$past = time() - $timestamp;
if ($past <= 60) {
return 'vor einer Minute';
}
if ($past <= 60 * 60) {
$n = round($past /60);
return 'vor '.$n.' Minuten';
}
if ($past < 60 * 60 * 2) {
return 'vor einer Stunde';
}
if ($past < 60 * 60 * 24) {
$n = round($past /(60*60));
return 'vor '.$n.' Stunden';
}
if ($past < 60 * 60 * 24 * 2) {
return 'gestern';
}
if ($past < 60 * 60 * 24 * 7) {
$n = round($past /(60*60*24));
return 'vor '.$n.' Tagen';
}

return date('d.m.Y', $timestamp);

}


Meine bisherige Version

User-1 am 23.03.09 21:58

cool, danke.

User-1 am 03.04.09 20:10

hallo
nochmal eine frage: wie bekomme ich da anzeigen wie
'am montag' (dieser woche)
'gestern morgen' und
'im märz 2008'
da eingebaut? kann ich das auch irgentwie mit im datetime-format verwenden?

User-2 am 25.04.09 20:19

Gehen tut alles:
function getTimeOfTheDay ($time) {
$h = date('G', $time);
if ($h < 4) {
return __('night');
} elseif ($h < 9) {
return __('morning');
} elseif ($h < 15) {
return __('noon');
} elseif ($h < 18) {
return __('afternoon');
} else {
return __('evening');
}
}

function getDay($time) {
$d = date('N', $time);
switch ($d) {
case 1: return __('Monday');
case 2: return __('Tuesday');
case 3: return __('Wednesday');
case 4: return __('Thursday');
case 5: return __('Friday');
case 6: return __('Saturday');
case 7: return __('Sunday');
}
return null;
}


Die Datums darstellung ist nur grade nicht meine Priorität, deswegen dauert es noch bis meine Format Fkt. entgültig ist.

User-3 am 25.04.09 22:13

Brauchte eben die selbe Funktion :p

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt