C#DateTimeOffset格式化为某种格式

spa*_*rkr 7 c#

有什么参考,我可以找到如何为DateTimeOffset创建一个格式,使我能够生成这样的字符串?

2016-10-01T06:00:00.000000+02:00
Run Code Online (Sandbox Code Playgroud)

我有一个可以使用的DateTimeOffset,但我不确定如何格式化它以产生上面的字符串表示?

Mat*_*sen 7

What you want is an ISO 8601-standardized combined Date and Time string.

The "o" format string provides you with just that:

DateTimeOffset dto = new DateTimeOffset(DateTime.Now);
string iso8601date = dto.ToString("o")
Run Code Online (Sandbox Code Playgroud)


Nik*_*tov 6

"O"或"o"标准格式说明符对应yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK于DateTime值的yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz自定义格式字符串和DateTimeOffset值的自定义格式字符串.

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    
Run Code Online (Sandbox Code Playgroud)

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