[c#] Get DateTime.Now mit Millisekunden Genauigkeit


4 Answers

Das sollte funktionieren:

DateTime.Now.ToString("hh.mm.ss.ffffff");

Wenn Sie die Anzeige nicht benötigen und nur den Zeitunterschied kennen müssen, konvertieren Sie ihn nicht in einen String. DateTime.Now(); es einfach als, DateTime.Now();

Und verwenden Sie TimeSpan , um den Unterschied zwischen den Zeitintervallen zu kennen:

Beispiel

DateTime start;
TimeSpan time;

start = DateTime.Now;

//Do something here

time = DateTime.Now - start;
label1.Text = String.Format("{0}.{1}", time.Seconds, time.Milliseconds.ToString().PadLeft(3, '0'));
Question

Wie kann ich genau einen Zeitstempel der tatsächlichen Zeit mit Millisekunden Genauigkeit konstruieren?

Ich brauche etwas wie 16.4.2013 9: 48: 00: 123. Ist das möglich? Ich habe eine Anwendung, wo ich Werte 10 Mal pro Sekunde abwerte, und ich muss sie in einer Grafik zeigen.




DateTime.Now.ToString ("ddMMyyyyhhmssffff")




public long millis() {
  return (long.MaxValue + DateTime.Now.ToBinary()) / 10000;
}

Wenn Sie Mikrosekunden möchten, ändern Sie einfach 10000 zu 10 , und wenn Sie den 10. von Mikro wollen, löschen Sie / 10000 .




Verwenden Sie die DateTime-Struktur mit Millisekunden und formatieren Sie diese wie folgt:

string timestamp = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff", 
CultureInfo.InvariantCulture);
timestamp = timestamp.Replace("-", ".");



Pyromancer's Antwort scheint mir ziemlich gut zu sein, aber vielleicht wolltest du:

DateTime.Now.Millisecond

Aber wenn Sie Daten vergleichen, ist TimeSpan der Weg zu gehen.






Related