Ich habe mich gefragt, ob es eine Möglichkeit gibt, einen Zeitstempel in c # aus einer Datums- / Uhrzeitangabe zu erstellen. Ich benötige einen Millisekunden-Genauigkeitswert, der auch in Compact Framework funktioniert (da DateTime.ToBinary () in CF nicht vorhanden ist).
Mein Problem ist, dass ich diesen Wert datenbankunabhängig speichern möchte, damit ich ihn später sortieren und herausfinden kann, welcher Wert von einem anderen größer ist usw.
c#
timestamp
compact-framework
database-agnostic
time-precision
Konstantinos
quelle
quelle
Antworten:
Ich benutze immer so etwas wie das Folgende:
Auf diese Weise erhalten Sie eine Zeichenfolge wie 200905211035131468, da die Zeichenfolge von Bits höchster Ordnung des Zeitstempels zu Bits niedrigster Ordnung in Ihren SQL-Abfragen wechselt und nach Datum sortiert werden kann, wenn Sie Werte in eine Datenbank einfügen
quelle
Ich glaube, Sie können einen Datenstempel im Unix-Stil auf eine Sekunde genau erstellen, indem Sie Folgendes verwenden
Durch Anpassen des Nenners können Sie die Genauigkeit auswählen
quelle
Sie können die DateTime.Ticks-Eigenschaft verwenden, die lang und universell speicherbar ist, immer größer wird und auch auf dem kompakten Framework verwendet werden kann. Stellen Sie einfach sicher, dass Ihr Code nach dem 31. Dezember 9999 nicht mehr verwendet wird;)
quelle
Sie können auch verwenden
Stopwatch.GetTimestamp (). ToString ();
quelle
Wenn Sie einen Zeitstempel in Sekunden benötigen, können Sie Folgendes verwenden:
quelle
Wenn Sie Zeitstempel wünschen, die der tatsächlichen Echtzeit entsprechen, ABER auch möchten, dass sie eindeutig sind (für eine bestimmte Anwendungsinstanz), können Sie den folgenden Code verwenden:
quelle