2015-02-06 177 views
5

是否有任何参考,我可以找出如何创建DateTimeOffset的格式,使我能够产生一个像这样的字符串?C#DateTimeOffset格式化为特定格式

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

我有一个的DateTimeOffset,我可以工作,但我不知道我怎么会格式化产生上述字符串表示?

+2

看https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx#Roundtrip – 2015-02-06 11:41:57

回答

5

的“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  

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

2

你需要的是一个ISO 8601-standardized合并日期和时间字符串。

"o" format string为您提供了这一点:

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