2015-02-06 14 views
5

Gibt es eine Referenz, wo ich herausfinden konnte, wie ich ein Format für das DateTimeOffset erstellen kann, das es mir ermöglichen würde, eine solche Zeichenfolge zu erzeugen?C# DateTimeOffset Formatierung zu einem bestimmten Format

2016-10-01T06:00:00.000000+02:00 

Ich habe einen Datetime, dass ich arbeiten kann, aber ich bin nicht sicher, wie ich es formatieren könnte die obige String-Darstellung zu erzeugen?

+2

Blick auf https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx#Roundtrip –

Antwort

5

Das „O“ oder „o“ Standardformatbezeich den Format-String yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK benutzerdefinierten entspricht für Datetime-Werte und zum yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz benutzerdefinierten Format-String für Datetime Werte.

DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30, DateTimeKind.Local); 

Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind); 
// 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00 

DateTimeOffset dto = new DateTimeOffset(lDat); 
Console.WriteLine("{0} --> {0:O}", dto); 
// 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00  

Referenz: https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx#Roundtrip

2

Was Sie wollen, ist ein ISO 8601-standardized kombiniert Datum und Uhrzeit-String.

Die "o" format string liefert Ihnen genau das:

DateTimeOffset dto = new DateTimeOffset(DateTime.Now); 
string iso8601date = dto.ToString("o")