Zeitstempel vor einiger Zeit in PHP konvertieren vor 1 Tag, vor 2 Tagen ...
Ich versuche zu konvertieren timestamp-format 2009-09-12 20:57:19
und verwandelt es in etwas wie 3 minutes ago
mit PHP.
Fand ich ein nützliches script, um dies zu tun, aber ich denke, es ist die Suche nach einem anderen format verwendet werden, da die Zeit-variable. Das script-ich bin zu wollen, ändern Sie für die Arbeit mit diesem format ist:
function _ago($tm,$rcs = 0) {
$cur_tm = time();
$dif = $cur_tm-$tm;
$pds = array('second','minute','hour','day','week','month','year','decade');
$lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
if($no <> 1)
$pds[$v] .='s';
$x = sprintf("%d %s ",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0))
$x .= time_ago($_tm);
return $x;
}
Ich denke in den ersten paar Zeilen das script wird versuchen, etwas zu tun, die wie folgt aussieht (anderes Datum-format Mathematik):
$dif = 1252809479 - 2009-09-12 20:57:19;
Wie würde ich mich über meine Umwandlung timestamp in das (unix?) format?
Kommentar zu dem Problem
möglich, Duplikat der so berechnen Sie die Differenz zwischen zwei Datumsangaben mit PHP haben? Kommentarautor: Glavić
PHP & jQuery Beispiel hier freakyjolly.com/convert-date-time-to-facebook-style Kommentarautor: jolly.exe
InformationsquelleAutor der Frage willdanceforfun | 2009-09-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispiel :
Eingang können Sie alle unterstützt werden Datums-und Zeit-format.
Ausgabe :
Funktion :
InformationsquelleAutor der Antwort Glavić
InformationsquelleAutor der Antwort Ayman Hussein
InformationsquelleAutor der Antwort Captain Red
Dies ist eigentlich eine bessere Lösung, die ich gefunden habe. JQuery verwendet, aber es funktioniert perfekt. Auch ist es automatisch aktualisiert, ähnlich der Art, SO und Facebook tut, so dass Sie nicht haben, um die Seite aktualisieren, um die updates zu sehen.
Dieses plugin liest Ihr
datetime
attr in der<time>
tag und füllen Sie es in für Sie.http://timeago.yarp.com/
InformationsquelleAutor der Antwort Panama Jack
InformationsquelleAutor der Antwort brycejl
Ich weiß nicht, warum niemand erwähnt Carbon noch.
https://github.com/briannesbitt/Carbon
Dies ist eigentlich eine Erweiterung von php dateTime (das wurde bereits hier) und es hat: diffForHumans Methode. So alle Sie tun müssen, ist:
weitere Beispiele: http://carbon.nesbot.com/docs/#api-humandiff
Vorteile dieser Lösung:
InformationsquelleAutor der Antwort Krzysztof Duszczyk
Fand ich Ergebnisse wie die folgenden ugly:
Weil ich realisiert eine Funktion, die Respekt Plural, entfernt leere Werte und Optional ist es möglich, zu verkürzen, Ausgabe:
Sieht viel besser aus:
Optional
$level = 2
zu verkürzen, können Sie es wie folgt:Entfernen Sie die
$lang
Teil, wenn Sie brauchen es nur in Englisch oder Bearbeiten dieser übersetzung auf Ihre Bedürfnisse angepasst werden:InformationsquelleAutor der Antwort mgutt
Ich veränderte die ursprüngliche Funktion ein wenig zu (meiner Meinung nach eher sinnvoll oder logisch).
InformationsquelleAutor der Antwort Bobb Fwed
habe ich dieses und es funktioniert ganz gut es funktioniert für beide unix-timestamp wie
1470919932
oder formatierte Zeit wie16-08-11 14:53:30
InformationsquelleAutor der Antwort Ahmad ghoneim
Nur werfen eine weitere option...
Während ich bevorzuge die Methode DateTime posting hier, ich wusste nicht, wie die Tatsache, dass es angezeigt 0 Jahre etc.
InformationsquelleAutor der Antwort Tom Hart
es Ihnen helfen, check it
InformationsquelleAutor der Antwort Abbbas khan
Ich bin mir bewusst, dass es mehrere Antworten hier, aber das ist, was ich kam mit. Dieser behandelt nur MySQL DATETIME-Werte als gemäß der ursprünglichen Frage, auf die ich reagiert wurde. Das array "$a " braucht etwas Arbeit. Ich begrüße Kommentare, wie Sie zu verbessern. Aufruf:
echo time_elapsed_string('2014-11-14 09:42:28');
InformationsquelleAutor der Antwort rdpcoder
Ich versucht, und funktioniert gut für mich
Überprüfen Sie diesen link für Referenz hier
Dank! und Spaß zu haben.
InformationsquelleAutor der Antwort Ruberandinda Patience
Viele Lösungen, die hier nicht angemeldet für die Rundung. Zum Beispiel:
Ereignis geschah an 3pm vor zwei Tagen. Wenn Sie überprüfen gegen 2 Uhr, es wird sich zeigen, eines Tages gemeldet. Wenn Sie überprüfen, um 4 Uhr wird es zeigen, vor zwei Tagen.
Wenn Sie arbeiten mit der unix-Zeit, das hilft:
Ist es nicht ideal, wenn Sie sind besorgt über Schaltsekunden und Sommerzeit.
InformationsquelleAutor der Antwort Frank Forte
Müssen Sie jedes einzelne Stück Ihrer Zeitstempel und konvertieren Sie es in Unix-Zeit. Zum Beispiel für den Zeitstempel, 2009-09-12 20:57:19.
(((2008-1970)*365)+(8*30)+12)*24+20 würden Sie eine Ungefähre Schätzung der Stunden, die seit dem 1. Januar 1970.
Nehmen Sie diese Zahl, multipliziert mit 60 und add 57, um die Minuten.
Nehmen, die, multipliziert mit 60 und add 19.
Dass umwandeln würde es sehr grob und ungenau jedoch.
Gibt es einen Grund, Sie können nicht einfach die normale Unix-Zeit, um mit zu beginnen?
InformationsquelleAutor der Antwort LukeWarm74
Wenn Sie MySQL verwenden Sie die
UNIX_TIMESTAMP()
Funktion.InformationsquelleAutor der Antwort CpnCrunch
Diese Funktion ist nicht gemacht, um verwendet werden, für die englische Sprache. Ich übersetzte die Worte in Englisch. Dies braucht mehr fixieren, bevor Sie Sie zum Englisch.
InformationsquelleAutor der Antwort shnisaka
Leicht modifiziert Antwort von oben:
InformationsquelleAutor der Antwort Mr Sorbose
Dies ist, was ging ich mit. Seine modifizierte version von Abbbas khan ' s post:
InformationsquelleAutor der Antwort drtechno
Yo verwenden können:
InformationsquelleAutor der Antwort William Wong Garay
InformationsquelleAutor der Antwort Mehreen Jamil
Hier ist meine Lösung bitte überprüfen Sie und passen Sie Sie nach Ihren Anforderungen
Dank
InformationsquelleAutor der Antwort Dineshaws
InformationsquelleAutor der Antwort Ramesh
Verwendung:
Funktion:
InformationsquelleAutor der Antwort Limitless isa
Folgende ist eine sehr einfache und extrem effiziente Lösung.
echo timeElapsed(1201570814);
Beispiel-Ausgabe:
6yrs 4 Monate 3 Wochen 4 Tage 12 STD. 40 min und 36secs.
InformationsquelleAutor der Antwort user3008679
Hier ist meine Lösung für ein Benachrichtigungs-Modul, das ich gebaut habe vor einiger Zeit. Es gibt eine ähnliche Ausgabe wie die Facebook - Benachrichtigungen-dropdown (zB. 1 Tag, Gerade jetzt, etc).
InformationsquelleAutor der Antwort Ciaran
geben Sie einfach das Datum, Zeit, um das func. es würde drucken Sie im Zeit-format für Sie
InformationsquelleAutor der Antwort hrishi
Ursprünglich geschrieben und an dieser link
Braucht Zeit ( - ) Wert, und es wird Ihnen sagen, wie viele Sekunden/Minuten/Stunden/Tage/Jahre/Jahrzehnte her.
InformationsquelleAutor der Antwort Usman Shaukat
Verwende ich folgende Funktion für mehrere Jahre. Und es funktioniert Prima:
InformationsquelleAutor der Antwort Ayyaz Zafar