In meinem Code verwende ich DateTime
Objekte, um Daten zu manipulieren, dann konvertieren sie in Zeitstempel, um sie in einigen JSON-Dateien zu speichern.DateTime mit Mikrosekunden
Aus einigen Gründen möchte ich das gleiche wie DateTime (oder etwas in der Nähe), aber mit Mikrosekunden Genauigkeit (die ich in Float beim Einfügen in die JSON-Dateien konvertieren würde).
Meine Frage ist: Gibt es ein PHP Objekt, die wie DateTime
ist, aber zu Mikrosekunden verarbeiten kann?
Ziel ist es, mit Objekten Mikropunkte manipulieren zu können.
In der Dokumentation gibt es etwas, das angibt, dass DateTime mit Mikrosekunden erstellt werden kann, aber ich konnte nicht finden, wie.
u Mikrosekunden (hinzugefügt in PHP 5.2.2). Beachten Sie, dass date() immer 000000 generiert, da es einen ganzzahligen Parameter benötigt, während DateTime :: format() Mikrosekunden unterstützt, wenn DateTime mit Mikrosekunden erstellt wurde.
Ich habe versucht, den Zeitstempel eines Datetime-Objekt mit einem Floating-Wert (microtime(true)
) zu setzen, aber es funktioniert nicht (ich glaube, es den Zeitstempel in einen int konvertiert, um den Verlust der Mikrosekunden verursacht).
Hier ist, wie ich
versucht$dt = new DateTime();
$dt->setTimestamp(3.4); // I replaced 3.4 by microtime(true), this is just to give an example
var_dump($dt);
var_dump($dt->format('u'));
Die .4
wird nicht berücksichtigt, wie man hier sehen kann (auch wenn wir die u
Format verwenden können, die den Mikrosekunden entspricht).
object(DateTime)[1]
public 'date' => string '1970-01-01 01:00:03' (length=19)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Berlin' (length=13)
string '000000' (length=6)
EDIT: ich diesen Code sah, die Mikrosekunden zu einem DateTime- hinzufügen können, aber ich würde eine Menge Änderungen an der Mikrozeit anwenden müssen, bevor Sie die Datetime zu schaffen. Da ich das sehr oft verwenden werde, möchte ich so wenig wie möglich an der Mikrozeit ändern, bevor ich das "Mikrozeitobjekt" bekomme.
$d = new DateTime("15-07-2014 18:30:00.111111");
Ihre Frage wurde gerade vaque, wonach suchen Sie? – davejal
Ich suche nach einer effizienten Möglichkeit, Daten in Mikrosekunden zu speichern, mit den gleichen Möglichkeiten (Vergleich, Formatierung usw.) wie eine DateTime. –
speichern sie in einer db ich nehme an, welche? – davejal