2010-05-25 9 views
13

Ich möchte umrechnen:Wie konvertiere ich eine Datetime mit Millisekunden in eine Zeichenfolge in C#?

5/25/2010 12:54:56:000 

zu:

05252010125456000 

Wie mache ich das in C#?

+0

Es ist nur eine lange Reihe richtig? Kannst du einfach long.ToString() verwenden? – vodkhang

+2

Ich kann nicht anders, als zu denken, dass dies eine schlechte Idee ist. Was wirst du mit dieser Saite machen? Wenn Sie dies irgendwo in einer Datenbank (oder sogar in einer flachen Datei) speichern, tun Sie es falsch. –

+0

Hrm, es gibt kein "youre-doing-it-wrong" -Tag –

Antwort

29

Sie einen custom format string verwenden können. Beispiel:

string formatted = DateTime.Now.ToString("MMddyyyyHHmmssfff"); 
+0

Das wird ihm nicht die Gesamtanzahl von Millisekunden bringen. Nur die msec Fraktion des Wertes. –

+0

Warum der Downvote? Wenn Sie nicht erklären, was Sie falsch finden, kann es die Antwort nicht verbessern. – Guffa

0

die Gesamt Millisekunden Um nur als eine Zeichenfolge verwenden:

TimeSpan value = (DateTime.Now - DateTime.MinValue); 
string milliseconds = value.TotalMilliseconds.ToString(); 

Wenn Sie möchten, speichern und/oder den Datetime-Wert zu vergleichen, dann schlage ich vor, Sie nutzen die Eigenschaft .Ticks der DateTime als Zeichenfolge, weil Sie einen DateTime-Wert rekonstruieren können, indem Sie die Ticks als Konstruktorargument übergeben.

+2

Ich denke, dass Sie die Frage missverstanden haben. Das OP fragte nach Datum, Uhrzeit und Millisekunde. Beachten Sie, dass das Beispiel eine Datums-, eine Zeit- und eine Millisekunden-Komponente enthält: 05252010125456000 = 25.05.2010 12: 54: 56.000. – Guffa

+0

Wahrscheinlich weil ich Deutscher bin. Ich kann Daten nicht als solche erkennen, wenn sie nicht mit dem Tag/Monat/Jahr beginnen ;-) –

Verwandte Themen