2010-05-25 13 views
13

chcę przekonwertować:Jak przekonwertować datetime z milisekund na ciąg w C#?

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

do:

05252010125456000 

Jak to zrobić w C#?

+0

To jest po prostu długi numer prawda? Czy możesz po prostu użyć long.ToString() ;? – vodkhang

+2

Nie mogę pomóc, ale myślę, że to zły pomysł. Co zrobisz z tym ciągiem? Jeśli masz zamiar przechowywać to w bazie danych gdzieś (lub nawet w płaskim pliku), robisz to źle. –

+0

Hrm, nie ma jeszcze znacznika "youre-doing-it-wrong", ale –

Odpowiedz

29

Można użyć custom format string. Przykład:

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

To nie da mu całkowitej liczby milisekund. Tylko frakcja msec wartości. –

+0

Dlaczego upadek? Jeśli nie wyjaśnisz, co to jest, że uważasz, że jest źle, to nie może poprawić odpowiedzi. – Guffa

0

uzyskać całkowitą milisekund tylko jako ciąg użyj:

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

Jeśli chcesz przechowywać i/lub porównanie wartości DateTime, to proponuję użyć właściwości .Ticks of DateTime jako ciąg znaków, ponieważ można odtworzyć wartość DateTime przekazującą tiki jako argument konstruktora.

+2

Myślę, że źle zrozumiałeś pytanie. OP poprosił o datę, godzinę i milisekundę. Zwróć uwagę, że przykład zawiera element daty, czasu i milisekundy: 05252010125456000 = 05/25/2010 12: 54: 56.000. – Guffa

+0

Prawdopodobnie dlatego, że jestem Niemcem. Nie mogę rozpoznać dat jako takich, jeśli nie zaczynają się od dnia/miesiąca/roku ;-) –

Powiązane problemy