2010-05-25 3 views
13

Я хочу, чтобы преобразовать:Как преобразовать datetime с миллисекундами в строку в C#?

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

к:

05252010125456000 

Как это сделать в C#?

+0

Это просто длинный номер правильно? Можете ли вы просто использовать long.ToString() ;? – vodkhang

+2

Я не могу не думать, что это плохая идея. Что вы будете делать с этой строкой? Если вы собираетесь хранить это в базе данных где-нибудь (или даже плоский файл), вы делаете это неправильно. –

+0

Hrm, еще нет тега «youre-do-it-wrong» –

ответ

29

Вы можете использовать custom format string. Пример:

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

Это не даст ему общее количество миллисекунд. Только фракция msec. –

+0

Почему downvote? Если вы не объясните, что это такое, что вы считаете неправильным, оно не может улучшить ответ. – Guffa

0

Чтобы получить общее количество миллисекунд только в виде строки используйте:

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

Если вы хотите сохранить и/или сравнить значение DateTime, то я предлагаю вам использовать свойство .Ticks DateTime как строка, потому что вы можете восстановить значение DateTime, передавая тики в качестве аргумента конструктора.

+2

Я думаю, что вы неправильно поняли вопрос. ОП запросил дату, время и миллисекунду. Обратите внимание, как пример содержит дату, время и миллисекундный компонент: 05252010125456000 = 05/25/2010 12: 54: 56,000. – Guffa

+0

Наверное, потому что я немецкий. Я не могу узнать даты как таковые, когда они не начинаются с дня/месяца/года ;-) –

Смежные вопросы