2010-05-25 13 views
13

voglio convertire:Come si converte un datetime con millisecondi in una stringa in C#?

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

a:

05252010125456000 

Come faccio a fare questo in C#?

+0

E 'solo un lungo numero giusto? Puoi semplicemente usare long.ToString() ;? – vodkhang

+2

Non posso fare a meno di pensare che questa sia una cattiva idea. Cosa farai con questa stringa? Se hai intenzione di archiviare questo in un database da qualche parte (o anche un file piatto), stai sbagliando. –

+0

Hrm, non c'è ancora il tag "youre-doing-it-wrong" –

risposta

29

È possibile utilizzare un custom format string. Esempio:

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

Questo non gli farà ottenere il conteggio totale di millisecondi. Solo la frazione msec del valore. –

+0

Perché il downvote? Se non spieghi cosa pensi che sia sbagliato, non può migliorare la risposta. – Guffa

0

Per ottenere i millisecondi in totale solo come una stringa di utilizzare questo:

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

Se si desidera memorizzare e/o confrontare il valore DateTime, allora vi suggerisco di utilizzare la proprietà .Ticks del DateTime come stringa, perché è possibile ricostruire un valore DateTime che passa i tick come argomento del costruttore.

+2

Penso che abbiate frainteso la domanda. L'OP chiedeva data, ora e millisecondo. Notare come l'esempio contiene una data, un componente di tempo e un millisecondo: 05252010125456000 = 05/25/2010 12: 54: 56.000. – Guffa

+0

Probabilmente perché sono tedesco. Non riesco a riconoscere le date in quanto tali quando non iniziano con il giorno/mese/anno ;-) –

Problemi correlati