2010-05-25 17 views
13

Quiero convertir:¿Cómo convierto un datetime con milisegundos a una cadena en C#?

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

a:

05252010125456000 

¿Cómo puedo hacer que en C#?

+0

Es sólo un número mucho ¿verdad? ¿Puedes usar long.ToString() ;? – vodkhang

+2

No puedo evitar pensar que esta es una mala idea. ¿Qué vas a hacer con esta cadena? Si vas a almacenar esto en una base de datos en alguna parte (o incluso en un archivo plano), lo estás haciendo mal. –

+0

Hrm, no hay ninguna etiqueta "youre-hacer-él-malo", sin embargo –

Respuesta

29

Puede utilizar un custom format string. Ejemplo:

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

Eso no le dará la cuenta total de milisegundos. Solo la facción mseg del valor. –

+0

¿Por qué el voto a favor? Si no explica qué es lo que cree que está mal, no puede mejorar la respuesta. – Guffa

0

Para obtener los milisegundos en total sólo como una cadena usar esto:

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

Si desea almacenar y/o comparar el valor DateTime, entonces le sugiero que utiliza la propiedad .Ticks de DateTime como una cadena, porque puede reconstruir un valor DateTime pasando los ticks como un argumento de constructor.

+2

Creo que malinterpretaste la pregunta. El OP pidió fecha, hora y milisegundo. Observe cómo el ejemplo contiene una fecha, una hora y un componente de milisegundos: 05252010125456000 = 25/05/2010 12: 54: 56,000. – Guffa

+0

Probablemente porque soy alemán. No puedo reconocer las fechas como tales cuando no comienzan con el día/mes/año ;-) –

Cuestiones relacionadas