Konvertieren des Zeitstempels in PHP vor einer Zeit, z. B. vor 1 Tag, vor 2 Tagen …
Lesezeit: 2 Minuten
willtanzen
Ich versuche, einen Zeitstempel des Formats zu konvertieren 2009-09-12 20:57:19 und verwandeln Sie es in etwas wie 3 minutes ago mit PHP.
Ich habe ein nützliches Skript gefunden, um dies zu tun, aber ich denke, es sucht nach einem anderen Format, das als Zeitvariable verwendet werden kann. Das Skript, das ich ändern möchte, um mit diesem Format zu arbeiten, lautet:
Dies ist keine gute Lösung, da es verwendet wird 30days for monthund 12x30days for yearund aus diesem Grund wird eine ungültige Anzahl von Jahren unterhalb des Jahres <= 1978 zurückgegeben. Beispiel wo es 39 Jahre zurückgibt, aber es sollte 38 sein. Und es funktioniert auch nicht für Jahre unter 1970.
– Glavic
2. Oktober 2013 um 12:33 Uhr
Schreckliche Lösung. Warum hat dies 42 positive Stimmen und eine ausgewählte Antwort? Seit wann hat jeder Monat 30 Tage?
– BadHorsie
14. März 2014 um 17:22 Uhr
@wassimboy, könnten Sie mir bitte sagen, warum Sie meine Antwort ablehnen möchten. Wenn meine Antwort nicht gut genug ist, können Sie einen Kommentar schreiben, um sie ohne Ablehnung zu korrigieren.
– Ayman Hussein
22. Oktober 2014 um 9:15 Uhr
Ihre Antwort ist nicht gut, weil sie 30 Tage pro Monat zählt und nicht alle Monate 30 Tage haben. Lesen Sie die anderen Kommentare oben.
– Tomás González
4. November 2014 um 18:47 Uhr
Dies ist eine Funktion, um einen allgemeinen Satz zurückzugeben, wie “vor ungefähr wie langer Zeit wurde dieser Kommentar abgegeben”? Es ist nicht präzise und hat einige Nachteile, wie oben erwähnt, aber für Daten in der nahen Vergangenheit (sagen wir 30 Jahre in der nahen Vergangenheit und weniger) gibt es uns ungenauen Menschen eine Vorstellung davon, wie lange ein Ereignis zurückliegt. Hat für meine Anwendung gut funktioniert.
– Tim Dearborn
27. September 2015 um 13:17 Uhr
Ich weiß nicht, warum noch niemand Carbon erwähnt hat.
Dies ist eigentlich eine Erweiterung von php dateTime (das hier bereits verwendet wurde) und es hat: diffForHumans-Methode. Also alles, was Sie tun müssen, ist:
es funktioniert für zukünftige Daten und wird ungefähr in 2 Monaten usw. zurückkehren.
Sie können die Lokalisierung verwenden, um andere Sprachen zu erhalten, und die Pluralisierung funktioniert gut
Wenn Sie beginnen, Carbon für andere Dinge zu verwenden, wird die Arbeit mit Datteln so einfach wie nie sein.
Panama Jack
Dies ist eigentlich eine bessere Lösung, die ich gefunden habe. Verwendet jQuery, aber es funktioniert perfekt. Auch das aktualisiert sich automatisch Ähnlich wie bei SO und Facebook müssen Sie die Seite nicht aktualisieren, um die Updates zu sehen.
Dieses Plugin liest Ihre datetime attr in der <time> markieren und für Sie ausfüllen.
Von allen funktioniert dieser gut für mich. Es zeigt zwar nicht vor oder zurück, aber es funktioniert in beide Richtungen. Einfache Lösung: if ($date->invert > 0) { $ending = “to go”; } Else { $Endung = ” vor”; } Fügen Sie einfach $ending zum $string hinzu.
– Quentin Campbell
18. April 2018 um 14:48 Uhr
Die Verwendung von json-Funktionen ist hier ein großer Leistungseinbruch und völlig unnötig. Das ist keine gute Lösung.
– Zombie
25. Juni 2019 um 20:13 Uhr
@zombat Vielen Dank für Ihr Feedback. Ich habe die Zeile gegen geändert explode und array_combine.
– mgutt
26. Juni 2019 um 21:28 Uhr
Warum global? Lesen Sie bitte www.PhpTheRightWay.com.
– AlexioVay
1. Februar 2021 um 18:48 Uhr
9931200cookie-checkKonvertieren des Zeitstempels in PHP vor einer Zeit, z. B. vor 1 Tag, vor 2 Tagen …yes
mögliches Duplikat von Wie berechnet man die Differenz zwischen zwei Daten mit PHP?
– Glavic
18. September 2013 um 2:38 Uhr
Beispiel für PHP und jQuery hier freakyjolly.com/convert-date-time-to-facebook-style
– Code-Spion
4. Juni 2018 um 11:48 Uhr