2013-04-30 3 views

risposta

2

.ToString ("o") sembrava fare il trucco

+0

Alla fine mancherà la "z", penso. –

+1

Z era lì con quel parametro – user1450877

+0

Ah interessante - il [l'esempio di documentazione MSDN] (http://msdn.microsoft.com/en-us/library/az4se3k1.aspx) non ce l'ha. –

2

Guardate qui:

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx#UniversalFull

Il formato che si desidera è:

myDate.ToString("u"); 

Esempio:

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0); 
Console.WriteLine(date1.ToUniversalTime().ToString("u")); 
// Displays 2008-04-10 13:30:00Z   

Tuttavia, questo non è esattamente quello che stai dopo (anche se probabilmente sarebbe ancora lavorare), quindi potrebbe essere necessario utilizzare un formato personalizzato:

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0); 
Console.WriteLine(date1.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ")); 
// Displays 2008-04-10T13:30:00.000000Z   
+0

E 'vicino, ma è con uno spazio per separare l'ora a partire dalla data, piuttosto che 'T'. –

+1

Modificato per mostrare anche la T, ricorda: devi prima trasmettere la tua data a UTC! – KaraokeStu

4

Credo che bisogna essere specifici:

dateTime.ToString(“yyyy-MM-ddTHH:mm:ss.fffffffZ”); 

Devi stare attento all'utilizzo del giusto fuso orario. See here for more details.

+0

vedere il mio commento per la risposta di @ user1450877. Questo è vero anche qui. Sembra che la serializzazione funzioni leggermente diversa. – StampedeXV